通过 JUnit 5 运行并行测试类

nat*_*big 6 java parallel-testing junit5

我的问题是关于如何在 JUnit 5 测试类中并行运行。

例如,我有两个简单的测试类,它们代表两个独立的测试管道,它们应该并行运行。然而,课堂上的内部测试应该按顺序运行。

public class TestClass1 {

    @Test
    public void test1() {
        System.out.println("Executing test 1 in Class 1");
        System.out.println(Thread.currentThread().getId());
        try {
            Thread.sleep(5000);
            Assert.assertTrue(false,"Assertion error in Test 1 Class 1");
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

    @Test
    public void test2() {
        System.out.println("Executing test 2 in Class 1");
        Assert.assertTrue(false,"Assertion error in Test 2 Class 1");
        System.out.println(Thread.currentThread().getId());
        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}

public class TestClass2 {

    @Test
    public void test2() {
        System.out.println("Executing test 1 in Class 2");
        System.out.println(Thread.currentThread().getId());
        Assert.assertTrue(false,"Assertion error in Class 2");
        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Eze*_*iel 5

根据Junit5 文档

配置参数以并行执行顶级类但方法在同一线程中

junit.jupiter.execution.parallel.enabled = true
junit.jupiter.execution.parallel.mode.default = Same_thread junit.jupiter.execution.parallel.mode.classes.default = 并发