モジュールの特定のバージョンへの依存度を下げるために、依存関係の異なるバージョンでモジュールをテストして、モジュールが正常に機能するバージョンボックスの「コーナー」を決定できるようにします。
たとえば、モジュールはライブラリfoo.bar2.1.2に対して組み込まれています。次に、ツールは2.0.0をテストし、失敗した場合はgitbisectのようにその間のバージョンをテストする必要があります。次に、2.1.2と最新バージョンが何であれ同様です。次に、次の依存関係でそれを行います。
ライブラリの使用方法を微調整してバージョンの範囲を拡張することは、多くの場合、かなり簡単であることがわかりました。OSGiコンテナーにデプロイする場合、依存関係ごとに幅広いバージョンのセットで実行すると、作業の負担が大幅に軽減されます。ただし、非常に多くの組み合わせを手動でテストすることは、絶対的な悪夢です。
夜にCIサーバーで実行できるようなツールを知っている人はいますか?
PS:そのようなツールには、あらゆる種類の厄介なエッジケースと欠陥があることを私は知っています。モジュールを構築するときに暗黙的に行われる仮定の量を減らしたいだけです。通常のテストでは、とにかくこれらの奇妙なケースをキャッチします。
JenkinsMatrixプロジェクトプラグインを使用します-https: //wiki.jenkins-ci.org/display/JENKINS/Building+a+matrix+projectを参照してください
pom.xmlで、バージョンをプロパティとして定義します。
<properties>
<my.version>1.30</my.version>
</properties>
...
<dependency>
<groupId>com.acme</groupId>
<artifactId>my-artifact</artifactId>
<version>${my.version}</version>
</dependency>
次に、JenkinsMatrixの各反復でテストバージョンを提供します。
mvn test -Dmy.version=1.31
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加