是否可以并行运行intelliJ中的junit测试?如果是这样,我该怎么做?
我将“fork”参数设置为类级别,这没有做任何事情 - 实际上,它使一切都变慢了,所以我不确定“fork”这对什么有益?
是否有可能使用intelliJ ,或者我需要一些花哨的测试框架以及所涉及的所有问题吗?
最后,假设这是可能的,可以控制分叉或线程的数量或者他们想要调用的任何东西吗?
更新:有人链接到可能回答此问题的问题。我在发帖前看了那个问题 - 我不确定那个问题到底是什么“回答”。它只是说有一个问题跟踪器,这个问题已在intelliJ中实现。我没有看到如何在任何地方实现它。
更新:“什么都不做”是什么意思?:它只是让事情变得更慢,而不是有用的。我的意思是,也许你的测试快速运行,你想放慢它们以欣赏一些巴赫?太棒了。我只想让我跑得更快,我厌倦了巴赫。
答案 0 :(得分:6)
您可以使用junit-toolbox。这是jUnit的一个扩展库,列在jUnit站点上。
此扩展程序提供the ParallelSuite。通过这种方式,您几乎可以创建一个并行执行测试的AllTest类。使用junit-toolbox引入的模式功能,最小AllTest看起来像下面的代码。
@RunWith(ParallelSuite.class)
@SuiteClasses("**/*Test.class")
public class AllTests {}
这将创建与JVM通过availableProcessors报告一样多的并行执行线程。要覆盖它,您可以设置系统属性maxParallelTestThreads
。