그 사람! 제 테스트는 일반 패키지에서 실행됩니다. 테스트를 통과 한 스팍에 테스트 패키지를 설정할 수 있습니까?이 패키지가 테스트를 통과하지 못하면 다른 테스트는 건너 뜁니다. 이 같은 예 보았다패키지 별 Spock 주문 테스트
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@RunWith(Suite.class)
@Suite.SuiteClasses({TestJunit1.class, TestJunit2.class})
public class JunitTestSuite {
}
을하지만 어쩌면 스팍 내가 다른 많은 패키지에있는 많은 테스트 클래스를 가지고 있기 때문에 내가 대신 각 클래스의 열거 패키지를 사용할 수있는 솔루션을 제공합니다. 또한 제가
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
public class TestRunner {
public static void main(String[] args) {
Result result = JUnitCore.runClasses(JunitTestSuite.class);
for (Failure failure : result.getFailures()) {
System.out.println(failure.toString());
}
System.out.println(result.wasSuccessful());
}
}
메인 쓰레드 그다지 정지 러너
사용 후에. 나는 이유를 모른다. 내가 그런 일을하고 싶지 : 어쩌면import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
public class TestRunner {
public static void main(String[] args) {
Result result = JUnitCore.runClasses(JunitTestSuite.class);
for (Failure failure : result.getFailures()) {
System.out.println(failure.toString());
}
if(result.wasSuccessful()){
JUnitCore.runClasses(JunitTestSuite.class);
}else {
System.out.println("Build failed");
}
}
}
또는
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@RunWith(Suite.class)
@Suite.SuiteClasses({com.example.otherTest.*.class, com.example.otherTests2.*.class})
public class JunitTestSuiteFirst {
}
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@RunWith(Suite.class)
@Suite.SuiteClasses({com.example.test.*.class})
public class JunitTestSuiteFirst {
}
이 작업의 더 간단한 해결책 존재한다. 감사.
내 모든 테스트는 하나의 패키지에서 찾습니다. 네, 시도한 후에 요. 나는 gradle 파일에서 시작하는 차례를 추가했다. 나는 패키지를 위해 하나의 태스크에 exclude를 추가했고 다른 태스크에는 필요한 패키지 만 포함시켰다. 이 작업간에 dependsOn을 설정하십시오. –