1

私はeclipse-pluginいくつかのユニットテストで得ました。
Mavenでは、ユニットテストを同じバンドルに保持し、のテスト依存関係としてjunitを指定しましたpom.xml
今度はtychoに切り替えたいのですが、tychoが同じ名前のバンドルと、".tests"実行される接尾辞を探していることを読みました。ただし、テストされたバンドルに単体テストを保持して、テストが失敗した場合にバンドルのビルドが失敗するようにしたいと思います。そうしないと、単体テストが正常に完了しなかった場合に、Mavenがアーティファクトをインストール/デプロイする可能性があります。

tychoを使用してユニットテストを同じバンドルに保持する方法はありますか?
tychoビルドの単体テストをどのように管理しますか?

更新:わかりました。2つの別々のバンドルとを取得eclipse-pluginしましたeclipse-test-plugin。Tychoは両方を同じリアクターで構築しますが、eclipse-plugin単体テストが失敗したにもかかわらず、私のデプロイが行われます。ネクサスリポジトリに壊れたアーティファクトがあります...
単体テストが正常に完了しなかったときにビルドの失敗を強制する方法はありますか?

4

3 に答える 3

1

tychoは依存関係に対してMANIFESTファーストのアプローチを使用しているため、単体テストを同じバンドルに保持することはできません。

テストと本番コードを同じバンドルに保持すると、junitなどのテストスコープの依存関係で本番バンドルを汚染することになります。

Mavenとは異なり、OSGiには依存関係の「スコープ」属性がありません。

于 2011-08-31T13:58:03.457 に答える
1

私はこのトピックが古いことを知っていますが、私はそのような単純な解決策を見つけました。ビルドの最後にアーティファクトがデプロイされるように構成できます。

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-deploy-plugin</artifactId>
            <version>2.8.2</version>
            <configuration>
                <deployAtEnd>true</deployAtEnd>
            </configuration>
        </plugin>

テストで失敗を無視せず、ビルドが失敗したように見える場合、アーティファクトはデプロイされません。

于 2016-01-22T10:52:59.120 に答える
-1

これは実際にはTychoの制限です。同じモジュールにテストと本番コードを含めることはできないため、を呼び出すとmvn clean deploy、対応するテストが実行される前に本番アーティファクトがデプロイされます。

テストの実行が成功した後にのみデプロイするには、簡単な回避策があります。最初に、を使用してすべてのテストを実行しmvn clean verify、それが成功した場合にのみ、ビルドをmvn clean deploy再度実行します。(不安定なテストがある場合は-DskipTests、2回目の呼び出しでテストの実行を無効にして、部分的な展開が行われないようにすることもできます。)

于 2012-08-28T07:23:49.473 に答える