25

是否可以在 IntelliJ 中并行运行 junit 测试?如果是这样,我该怎么做?

我将“fork”参数设置为类级别,但这并没有做任何事情 - 实际上,它让一切都变慢了,所以我不确定“fork”有什么好处?

是否可以仅使用 intelliJ来做到这一点,或者我是否需要一些花哨的测试框架以及这将涉及的所有 hoo-hah?

最后,假设这是可能的,可以控制分叉或线程的数量或他们想要调用的任何东西吗?

更新:有人链接到一个可能回答这个问题的问题。我在发布之前查看了该问题 - 我不确定该问题真正“回答”了什么。它只是说有一个问题跟踪器,并且这个问题已在 intelliJ 中实现。我看不到如何在任何地方实现它。

更新:“什么都没做”是什么意思?:它只是让事情变慢,这没有用。我的意思是,也许你的测试运行得非常快,你想放慢它们来欣赏一些巴赫?太棒了。我只是想让我的跑得更快,我受够了巴赫。

4

1 回答 1

7

您可以使用junit-toolbox。这是 jUnit 站点本身上列出的 jUnit 扩展库。

这个扩展提供了 ParallelSuite。通过这个,您几乎可以毫不费力地创建一个并行执行测试的 AllTest 类。使用 junit-toolbox 引入的模式功能,最小的 AllTest 可能看起来像下面的代码。

@RunWith(ParallelSuite.class)
@SuiteClasses("**/*Test.class")
public class AllTests {}

这将为并行执行创建尽可能多的线程,因为您的 JVM 通过availableProcessors报告。要覆盖它,您可以设置系统属性maxParallelTestThreads

于 2015-09-23T14:36:12.647 回答