gpt4 book ai didi

java - Gradle 与在同一线程中运行的同一类的方法并行运行测试类

转载 作者:行者123 更新时间:2023-12-02 11:56:57 25 4
gpt4 key购买 nike

我正在参加一些 Junit 测试类(class)。我想在 2 个线程中运行它们,因此包含 maxParallelForks = 2 。我想确保同一类的测试按顺序在同一线程中运行。如何实现这一目标? (我使用 SpringRunner。)

最佳答案

我使用@RunWith(Suite.class)来运行多个测试类。所以我创建了一个新的 Runner 类,这解决了我的问题。

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);
}
}
});
}
}

关于java - Gradle 与在同一线程中运行的同一类的方法并行运行测试类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47532534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com