1. ホーム
  2. testing

[解決済み] Gradleのテスト依存性

2023-05-18 08:12:12

質問

プロジェクトAとプロジェクトBがあります。どちらもgroovyで書かれており、ビルドシステムとしてgradleを使用しています。

プロジェクトAはプロジェクトBを必要とします。 これはコンパイルとテストの両方のコードに当てはまります。

プロジェクトAのテストクラスがプロジェクトBのテストクラスにアクセスできるように設定するにはどうしたらよいでしょうか。

どのように解決するのですか?

テストクラスを 'tests' 構成を介して公開し、その構成に testCompile の依存関係を定義することができます。

私はすべてのJavaプロジェクトにこのブロックを用意し、すべてのテストコードをjarに格納しています。

task testJar(type: Jar, dependsOn: testClasses) {
    baseName = "test-${project.archivesBaseName}"
    from sourceSets.test.output
}

configurations {
    tests
}

artifacts {
    tests testJar
}

次に、プロジェクト間でアクセスしたいテストコードがある場合、次のようにします。

dependencies {
    testCompile project(path: ':aProject', configuration: 'tests')
}

これはJava用です。groovyでも同様に動作するはずだと考えています。