1

これは遠回りだと思いますが…

次のようなプロジェクト構造があります。

common-library
    - denmark
          - application
    - france
          - application
    - application-xxxxxx
          - application
          - integration-tests

アプリケーションごとに構成、翻訳、パッケージ名などが異なりますが、全体としてはほぼ同じです。それらは同じ機能、同じユーザーインターフェースなどを持っています。

現在、アプリケーションの 1 つだけが との統合テストでテストされていRobotiumます。他のアプリケーションと同じ統合テストを「共有」する方法はありますか?

アプリケーションごとに「共通テスト」とカスタム/特定のテストがあれば完璧です。それはまったく可能ですか?

私たちは必要に応じて maven と Jenkins を使用しています。

他のアプローチや提案は大歓迎です。

4

1 に答える 1

0

さて、統合テストの 1 つのセットのみを維持する必要があると仮定すると、次のような方向に進みます。

  • 統合テストのみを保持する別の Maven モジュール
  • その中で、複数の Maven プロファイルを導入します。各プロファイルは、テスト対象のモジュールの 1 つにのみ Maven 依存関係を指定します。
  • ビルドは後でプロファイルを切り替えて、特定のビルドのみをアクティブ化できます

統合テスト オプションに関するいくつかのメモ ( http://docs.codehaus.org/display/MAVENUSER/Maven+and+Integration+Testing ) が述べているように、このアプローチにも影響すると思います。

このようにすることの欠点は、統合テストをテストしようとしているコードから分離する傾向があることです。その結果、誰も統合テストを「所有」していないことに気付くかもしれません。通常、統合テストの分析とバグの発見を担当する人が 1 人います。QA は困難ですが、誰がテストの失敗を "所有" しているかが不明な場合は、さらに困難になります。

別の問題として、コード変更時に (Jenkins 経由で) 統合テストを含むビルドを自動的に実行する場合があります。モジュールの依存関係は、統合テストを自動的に起動しません。むしろ、プロファイルごとに 1 つの Jenkins ジョブを定義し、正しいジョブ シーケンスを手動で定義する必要がある場合があります。例: Jenkins がデンマークのアプリを構築した場合 => 統合を構築し、プロファイル denmark を使用して ...

于 2013-08-03T19:07:21.217 に答える