2014-12-27 162 views
1

我目前有一些测试,它确实运行很长。在每次测试中,我总是一样的:如何并行化JUnit测试?

有一个循环创建一个新的对象(每次迭代都有不同的参数),做一些耗时的对象计算,并且在每次迭代结束时将结果与预期结果。

此循环中的每次迭代都是完全隔离的。我可以很容易地并行运行所有这200个非常耗时的迭代。但如何最好地做到这一点?

干杯, 洪堡

回答

0

的Junit 4具有内置中并行处理。检查这个documentation

除此之外,您可能需要考虑将所有重复迭代移动到静态设置方法中并注释为@BeforeClass。这将确保代码在整个生命周期中只运行一次。

@BeforeClass 
public static void setup() { 
    //Move anything needs to run only once. 
} 
+0

并行处理是Maven特性而不是JUnit特性。 –

0
+0

谢谢!我有几个问题: –

+0

1.你的第一个链接说,“单个参数测试”允许返回Object []。在我的情况下,这总是会抛出一个错误:“必须返回一个数组的Iterable。” 如果我将这些参数封装在一个常规数组中,它就可以工作。 –

+0

您需要将JUnit 4.12用于“单参数测试”。我假设你正在使用4.11。 –