5
我想運行默認測試運行時排除的路徑中具有「集成」字的測試,但我想在單獨的任務中將它們一起運行。目前,我有一個基本的測試配置:使用android在gradle上分離集成測試任務
sourceSets {
androidTest.setRoot('src/test')
integrationTest.setRoot('src/test')
}
...
androidTestCompile 'junit:junit:4.11'
androidTestCompile 'com.jayway.android.robotium:robotium-solo:5.1'
androidTestCompile files('libs/android-junit-report-1.5.8.jar')
androidTestCompile 'com.squareup:fest-android:1.0.8'
androidTestCompile 'org.robolectric:robolectric:2.3'
integrationTestCompile 'junit:junit:4.11'
integrationTestCompile 'com.jayway.android.robotium:robotium-solo:5.1'
integrationTestCompile files('libs/android-junit-report-1.5.8.jar')
integrationTestCompile 'com.squareup:fest-android:1.0.8'
integrationTestCompile 'org.robolectric:robolectric:2.3'
...
androidTest {
include '**/*Test.class'
exclude '**/espresso/**/*.class'
exclude '**/integration/**'
}
task integrationTest(type: Test) {
include '**/integration/**'
}
這將導致一個錯誤,而在AS的gradle同步:
Warning: project ':ProjectName': Unable to resolve all content root directories
Details: java.lang.NullPointerException: null
,但如果我刪除integrationTest任務不會發生的。另外隨着任務現在我能夠運行「integrationTest」任務,但這會導致另一個錯誤:
Error:Could not determine the dependencies of task ':ProjectName:integrationTest'.
A base directory must be specified in the task or via a method argument!