1

API の安定性をテストしたい Web アプリケーションがあります。

API をテストするために、API によって記述されたドメイン オブジェクトを含むプロジェクトに依存しています。API を呼び出して、(Spring RestTemplate を使用して) オブジェクトをドメイン オブジェクトに逆シリアル化しようとします。

新しいバージョンの API を開発する場合、新しいバージョンのドメイン オブジェクト プロジェクトが使用されます。シナリオの写真は次のとおりです。 ここに画像の説明を入力

ここで、ビルド サーバー (この場合は maven または ant を使用する Jenkins) 上の特定の webapp に対してテスト プロジェクトを自動的に実行する方法が必要です。問題は、それらが 1 つの依存関係を異なるバージョンと共有していることです (そのため、それらを一緒にビルドすることはできません)。

私の現在のアプローチは、webapp をビルドし、桟橋にデプロイしてから、テストを実行することです。それは難しいことが証明されています。

この問題を解決する方法はありますか?以前の経験?

4

1 に答える 1

0

webapp-tests がドメイン 1.1 に依存し、webapp-api が 1.2-SNAPSHOT に依存するのはなぜですか? webapp-tests アーティファクトは、webapp-api と同じ共通の依存関係に依存するべきではありませんか? バージョンが異なるだけの同じ成果物である場合は、それをプロパティに構成できます。ただし、プロジェクトに webapp-api も追加して、共通バージョンを共有する方がよいと思います。

  • ドメイン (バージョン)
  • webapp-api (ドメインに依存)
  • webapp-tests (ドメインに依存し、webapp-api をテストします)

すべてが同じ親と同じバージョンを共有します。

以前にリリースされたバージョン (またはそのいずれか) に対してテストする場合は、cobertura-plugin と同様のことを行う必要があります: http://mojo.codehaus.org/cobertura-maven-plugin/ これは、プラグインを作成することを意味します。 .

テストする依存関係を Maven プロファイルに追加して、異なるバージョンのドメインを使用して webapp-api に対して webapp-tests を実行しようとしましたか? 別のプロファイルを有効にしてテストを再実行できます。

質問が間違っているかもしれません:) webapp-testsに別のバージョンを含める必要がある場合は、webapp-apiまたはドメインプロジェクトに依存させないでください? 残りのテストを行っているため、依存関係が干渉する可能性のある共通のクラスパスはありませんか?

于 2012-11-30T08:02:35.463 に答える