4

我正在编写 JUnit 测试。我想知道测试类中的测试是否可以并行运行。

class TestMyClass {

    @Test
    public void test1() {
    }

    @Test
    public void test2() {
    }

}

Junit 会并行运行 test1() 和 test2() 吗?

4

4 回答 4

4

如果您正在寻找并行测试执行,请考虑TestNG

于 2012-09-20T20:44:16.940 回答
1

是的你可以。看看这个问题,了解如何设置的详细信息。不过,您的测试的正确性不应该真的取决于这种行为。无论是否同时运行,您的测试都应该正确运行。

于 2012-09-20T19:22:22.413 回答
1

我无法直接回答 jUnit 是否会并行运行它们,但从理论上讲,这无关紧要。您唯一应该记住的是您可以押注的执行顺序,例如

  • 设置
  • 测试的执行
  • 拆除

这应该足够了,因为每个单独的测试都应该完全相互独立。如果您的测试依赖于它们的执行顺序或者它们是否并行运行,那么您可能有一些错误的依赖关系。

于 2012-09-20T19:22:42.833 回答
-1

不,因为在每次测试之前都会设置一个夹具。并行运行测试可能会改变夹具状态。我想你可以编写一个测试执行器来并行运行测试。

于 2012-09-20T19:23:39.553 回答