2013-08-05 2 views
12

나는 gradle의 -Dtest.single 플래그를 사용하여 단일 통합 테스트를 실행하려고합니다. 다른 소스 세트 인 src/integrationTest을 추가하고 거기에 테스트를 넣습니다. 통합 테스트 작업이 있습니다.gradle의 단일 통합 테스트를 실행하십시오.

task integrationTests(type: Test) { 
    dependsOn 'assemble', 'integrationTestClasses'  
    testClassesDir = sourceSets.integrationTest.output.classesDir 
    classpath = sourceSets.integrationTest.runtimeClasspath 
} 

이 작업은 정상적으로 실행되지만 단일 테스트를 실행하려고하면 일치하는 테스트를 찾을 수 없다는 메시지가 나타납니다. 새 테스트를 작성할 때마다 모든 통합 테스트를 실행하고 싶지 않습니다. 이것을 할 수있는 방법이 있습니까?

답변

11

올바른 구문은 다음과 같습니다

gradle integrationTest -DintegrationTest.single=...

+1

감사합니다. 완벽하게 일했습니다. 나는이 때 –

+0

는, 내가 좋아하는 뭔가를 얻을 : '$ gradlew -Dtest.single = SingleTest : 하위 프로젝트 : 테스트 ... : buildSrc가 : 테스트 실패를 실패 : 예외와 함께 실패 구축 할 수 있습니다. 무엇이 잘못 되었습니까 : ': test'작업에 실행하지 못했습니다. 패턴 일치 테스트를 찾을 수 없습니다 : SingleTest' –

+0

아마도 그 이름을 가진 테스트 클래스가 없습니까? –

28

가 Gradle을 1.10 이후로 당신이 쓸 수 있습니다 :

//select specific test method 
gradle test --tests org.gradle.SomeTest.someFeature 

//select specific test class 
gradle test --tests org.gradle.SomeTest 

//select all tests from package 
gradle test --tests org.gradle.internal* 

//select all ui test methods from integration tests by naming convention 
gradle test --tests *IntegTest*ui* 

//selecting tests from different test tasks 
gradle test --tests *UiTest integTest --tests *WebTest*ui 

자세한 내용은 여기를 012 읽기이 경우

gradle testTaskName -DtestTaskName.single=...

관련 문제