* Update February 13th, 2012: Thanks to Ben Ripkens for updates to match the new Gradle API.
While searching online, I found many suggestions for how to add a new test target to a Gradle script. Most of them were wrong and others didn’t properly separate the integration test target from standard targets. After not finding a solution, I came up with one on my own.
This example sets up integration tests for Groovy .
Create a source set
This will separate the integration test code from other code, allowing it to be built separately.
- The classpath in the example gives integration tests access to all application and test classes
- The source location will be src/integrationTest/groovy
sourceSets {
integrationTest {
compileClasspath = sourceSets.main.output + configurations.testRuntime
runtimeClasspath = output + sourceSets.main.output + configurations.testRuntime
groovy {
srcDir 'src/integrationTest/groovy'
}
}
}
Add the target
task integrationTest(type: Test) {
testClassesDir = sourceSets.integrationTest.output.classesDir
classpath = sourceSets.integrationTest.runtimeClasspath
}