Tôi muốn chạy thử nghiệm có từ 'tích hợp' trong đường dẫn để loại trừ với chạy thử mặc định, nhưng tôi muốn chạy tất cả chúng cùng nhau trong một nhiệm vụ riêng biệt. Hiện nay tôi có một cấu hình thử nghiệm cơ bản:Nhiệm vụ kiểm tra tích hợp riêng biệt trên gradle với android
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/**'
}
Điều này gây ra một lỗi khi đồng bộ hóa gradle trong AS:
Warning: project ':ProjectName': Unable to resolve all content root directories
Details: java.lang.NullPointerException: null
nhưng nếu tôi loại bỏ các nhiệm vụ integrationTest nó không xảy ra. Ngoài ra với sự hiện diện nhiệm vụ Tôi có thể chạy các nhiệm vụ 'integrationTest' nhưng điều này gây ra lỗi khác:
Error:Could not determine the dependencies of task ':ProjectName:integrationTest'.
A base directory must be specified in the task or via a method argument!