1

GradleとJenkinsのJavaプロジェクトの自動ビルドテスト公開サイクルを設定中です。 AppTestFrameworkは、テストの記録、スクリプト作成、および再生のために書いたユーティリティです。これは、アプリケーションにコンパイル時の依存関係があります。 AppのJUnitテストは、順にAppTestFrameworkを使用してテストを実行します。Gradle:テストユーティリティの循環依存性を管理する方法

アプリケーションのbuild.gradle:

dependencies { 
    ... 
    testCompile("org.kylewm:AppTestFramework:latest.integration") 
} 

AppTestFrameworkのbuild.gradle:私はにそれを分割する可能性があるため、私は正確に循環依存関係としてこれを記述する必要がある場合

dependencies { 
    compile("org.kylewm:App:latest.integration") 
} 

は、私にはわかりません3つのプロジェクト:

  • のApp
  • A ppTestFrameworkアプリ
  • に依存
  • AppUnitTests私は別々のプロジェクトとしてそれらを保つことを好むだろう

AppTestFramework、アプリケーションに依存します。それらが別のbuild.gradleのサブプロジェクトでなければならない場合、それはOKですが、私はそれを避けたいと思います。ありがとう!

+0

だから、Gradleのは、それを構築することを可能にするソリューションは何をインポートすることができるように

一つの解決策は、1つのプロジェクトを維持するが、いくつかのJARファイルを生成するだろうか? AppとAppUnitTestを別々のモジュール/プロジェクトに分ける?他の解決策はありませんか? –

答えて

1

悪魔の主張:なぜコードが密接に結合されている場合、それらを別々のプロジェクトにしたいのですか?他のプロジェクトはapp.jarapp-testsupport.jar

+0

TestSupportはAppと密接に結びついていますが、AppのテストだけがTestSupportに結合されているので、私はそれらを別々に保つことができました(Appはすでに怪物であるため)。つまり、あなたはかなり良い点を作っています。すべてが単一のプロジェクトに入っていれば、事は間違いなくもっと簡単になります。 – kylewm

+0

私は同じ問題を抱えているため、AppTestFrameworkを別のモジュール/プロジェクトに公開してAppTestFrameworkを他のプロジェクトで使用できるようにする必要があります。 –