【问题标题】:Running junit tests in intelliJ in parallel [duplicate]在intelliJ中并行运行junit测试[重复]
【发布时间】:2013-04-16 16:35:55
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

  • 定义“它没有做任何事情”,它确实做某事,它在一个新的 JVM 中运行你的测试。这 zero 与“并行运行测试”有关。
  • 也许使用了一些 maven 支持,从 stackoverflow.com/questions/423627/… 开始。我知道它需要一些 maven hoo-hah,所以我不会把它作为答案。
  • @DaveNewton 我想我的意思是“没有做任何事情来缓解手头的问题”。
  • @MarceloMorales 是的,我看到了 - 但团队在 ANT 之外的 intelliJ 中运行测试 - 正如有人认为这个问题的骗子一样 - intelliJ 声称可以解决问题。但我不明白怎么做。 – bharal 23 分钟前

标签: junit intellij-idea


【解决方案1】:

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

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

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

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

【讨论】:

猜你喜欢
  • 2011-04-03
  • 2016-02-15
  • 1970-01-01
  • 2015-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-12
相关资源
最近更新 更多