1. ホーム
  2. java

[解決済み] Gradleに新しいソースセットを追加するには?

2022-10-23 07:29:19

質問

私のGradleビルド(バージョン1.0)に統合テストを追加したいです。それらはlocalhostにデプロイされるウェブアプリを必要とするので、私の通常のテストとは別に実行する必要があります(彼らはそのウェブアプリをテストします)。テストは、私のメインソースセットで定義されたクラスを使用できるようにする必要があります。どのように私はこれを実現するのですか?

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

2021年に向けてアップデートします。

8年あまりの間に多くのことが変わりました。Gradleは素晴らしいツールであり続けています。今、ドキュメントにはインテグレーションテストの設定に特化したセクション全体があります。私はあなたに ドキュメントを読む を読むことをお勧めします。

オリジナルの回答です。

これは理解するのに時間がかかり、オンラインのリソースは良くありませんでした。そこで、私は自分の解決策を文書化したいと思いました。

これは、mainとtestのソースセットに加え、intTestのソースセットを持つシンプルなgradleビルドスクリプトです。

apply plugin: "java"

sourceSets {
    // Note that just declaring this sourceset creates two configurations.
    intTest {
        java {
            compileClasspath += main.output
            runtimeClasspath += main.output
        }
    }
}

configurations {
    intTestCompile.extendsFrom testCompile
    intTestRuntime.extendsFrom testRuntime
}

task intTest(type:Test){
    description = "Run integration tests (located in src/intTest/...)."
    testClassesDir = project.sourceSets.intTest.output.classesDir
    classpath = project.sourceSets.intTest.runtimeClasspath
}