LoginSignup
9
11

More than 5 years have passed since last update.

Gradle で Integration Test

Last updated at Posted at 2017-04-09

自動化されたテストにデータベースなどが絡んでいると、実行に時間がかかるようになってしまいます。単体テストと結合テストに分けて、単体テストを気軽に実行できるようにしておきましょう。毎回結合された状態でテストできる方がテストの精度が上がりそうですが、時間がかかってテストを行わなくなると本末転倒です。

Gradle を使う場合は、 https://www.petrikainulainen.net/programming/gradle/getting-started-with-gradle-integration-testing/ の記事が良かったので結論だけメモしておきます。

sourceSets {
    integrationTest {
        java {
            compileClasspath += main.output + test.output
            runtimeClasspath += main.output + test.output
            srcDir file('src/integration-test/java')
        }
        resources.srcDir file('src/integration-test/resources')
    }
}

configurations {
    integrationTestCompile.extendsFrom testCompile
    integrationTestRuntime.extendsFrom testRuntime
}

task integrationTest(type: Test) {
    testClassesDir = sourceSets.integrationTest.output.classesDir
    classpath = sourceSets.integrationTest.runtimeClasspath
    outputs.upToDateWhen { false }
}

単体テストと同様に書いて、 src/integration-test/java に配置し、 gradle integrationTest で実行します。 integrationTest のみで利用するライブラリは、 dependenciesintegrationTestCompile で指定します。

9
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
11