2012-07-13 455 views

回答

60

最好的方式方法:(3年后编辑)

有甚至是实现这一目标的更好方法。

  1. 选择菜单“运行”→“编辑配置...”。点击左上角的绿色加号,然后选择JUnit。

  2. 选择“测试样”到“模式”,进入这个正则表达式完全一样,你看到它:^(?!.*IT$).*$(它开始与插入符号^与美元$结束)。这个正则表达式说:所有测试都没有以IT名义完成

  3. 选择“搜索测试”为“在整个项目中”。工作目录应设置为顶层模块工作目录(应该默认设置)。

  4. 输入您的测试名称,如“所有单元测试”。我还优先选择“共享”选项,以便以后配置不会消失。单击应用并确定。

您可以尝试使用此正则表达式来满足您的需求。

原来的答复:

这是可行的,虽然它不舒服。

  1. 选择第一个模块,右键单击test/java目录并单击“运行所有测试”。它创建测试配置。
  2. 选择“编辑配置”并在新创建的配置上选中“共享”,以便保存。
  3. 选择第二个模块,“运行所有测试”,并在该配置上选中“共享”。
  4. 在“启动前”部分,单击“+”并选择“运行另一个配置”,然后选择第一个模块的配置。

这样您可以按顺序运行配置,每个配置都会获得一个新选项卡。尽管如此,总比没有好。

+0

谢谢!迄今最清洁的方式。想知道3年后是否有更好的方法来实现这个:) – CoderSpinoza 2016-08-11 09:51:16

+0

谢谢!您节省了我的时间,而且迄今为止,这仍然是我可以找到的最巧妙的方式,可以一次性解决多重覆盖率报告生成和统一案例跑步者问题**。 – Fei 2016-09-19 01:53:45

+0

我刚刚使用更好的解决方案编辑了我的anser @CoderSpinoza – 2016-09-19 07:47:18

20

你必须创建一个“运行配置”:

  1. 转至顶部的下拉菜单,在“制作”按钮的右边,点击它
  2. 选择“编辑配置”
  3. 现在点击“+​​”按钮添加一个新的运行配置,然后选择JUnit
  4. 然后,在配置“运行配置”时,您会看到一个“Test Kind”下拉列表,选择“目录中的所有类“
  5. 选择t要用作根目录的目录,可以为项目或模块的任何目录选择顶级目录。
  6. 选择的IntelliJ模块从那里拿起类路径(也可以是顶级项目,如果它有一个classpath)
+0

感谢您的提示,但它不能解决问题。完美的方式是选择几个dirs,而不仅仅是一个dirs。解决方法是使用模式,但仍然只能对包装进行打样,而不能打样。 – 2012-07-16 12:46:10

+12

在“测试类型”中选择“包装中的所有”,然后选择“在整个项目中”复选框。这将在所有模块中运行测试。 – 2013-01-17 16:19:45

+4

我希望每个模块都可以使用它自己的模块目录作为工作目录 - 这看起来似乎不可能,它似乎使用单个模块目录来完成整个任务。 – bacar 2014-09-30 10:53:33

5

对于我来说,这两种解决方案都没有工作或没有预期的工作。

对我来说我有3个模块。我模块的依赖关系是这样的

介绍 - > - >数据

我只是想执行所有测试在一起。所以,我想出了“跨模块依赖性”的做法

我的设置是这样的:当需要在多个项目的代码覆盖率

enter image description here

0

另一个不那么明显的情况下。天真的解决方案是选择多个项目并一次运行所有单元测试。事实证明,如果类路径更改并且IntelliJ每次运行配置只有一个类路径条目,则单元测试可能会失败。在这种情况下,按顺序对项目运行单元测试就足够了。这是因为在每次运行结束时,IntelliJ(2017.2.5 Community Edition)会询问收集的覆盖范围是应该替换还是应该添加到以前收集的覆盖率统计信息中。