몇 가지 Junit 테스트 클래스가 있습니다. 두 스레드에서 실행하려고하므로 maxParallelForks = 2
이 포함됩니다. 동일한 클래스의 테스트가 동일한 스레드에서 순차적으로 실행되도록하고 싶습니다. 이것을 달성하는 방법? (SpringRunner를 사용합니다.)동일한 스레드에서 동일한 클래스의 메소드와 병렬로 테스트 클래스를 실행하십시오.
0
A
답변
0
Gradle 소스를 간략하게 살펴보면 원하는 옵션을 정확히 찾아야합니다. maxParallelForks
테스트 클래스을 테스트 테스트 방법이 아닌 병렬 테스트로 실행하십시오.
0
여러 테스트 클래스를 실행하려면 @RunWith(Suite.class)
을 사용하고있었습니다. 그래서 새로운 러너 클래스를 만들었고 이것이 내 문제를 해결했습니다.
public class ParallelExecutor extends Suite {
public ParallelExecutor(Class<?> klass, RunnerBuilder builder) throws InitializationError, IOException, InterruptedException {
super(klass, builder);
setScheduler(new RunnerScheduler() {
private final ExecutorService service = Executors.newFixedThreadPool(10);
public void schedule(Runnable childStatement) {
service.submit(childStatement);
}
public void finished() {
try {
service.shutdown();
service.awaitTermination(Long.MAX_VALUE, TimeUnit.NANOSECONDS);
} catch (InterruptedException e) {
e.printStackTrace(System.err);
}
}
});
}
}