从多个模块一起在IntelliJ IDEA中运行单元测试

Woj*_*ski 76 testing intellij-idea

如何一次运行两个或多个IDEA模块的所有测试?

我使用了很多模块,经常运行所有单元测试非常重要,当我选择运行多个文件夹时,上下文菜单上就没有"运行"选项了.

Tom*_*ski 99

最佳方式:( 3年后编辑)

甚至有更好的方法来实现这一目标.

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

  2. 选择"测试种类"为"模式"并完全按照您的意思输入此正则表达式:( ^(?!.*IT$).*$以插入符号开头,^以美元结尾$).这个regexp说:所有的测试都没有以他们的名义完成IT.

  3. 选择"搜索测试"到"整个项目".工作目录应设置为顶层模块工作目录(默认情况下应设置).

  4. 输入您的测试名称,如"所有单元测试".我也喜欢标记"共享"选项,以便此配置不会在以后消失.单击"应用"和"确定

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

原始答案:

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

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

这样,您可以按顺序运行配置,并且每个配置都会获得一个新选项卡.不过,总比没有好.

  • 更新版本**不太好**,如果您的测试用例在其运行时使用模块特定资源 - 我仍然更喜欢原始解决方案. (8认同)

Alo*_*uez 20

您必须创建"运行配置":

  1. 转到顶部的下拉列表,在"制作"按钮的右侧,然后单击它
  2. 选择"编辑配置"
  3. 现在单击"+"按钮添加新的运行配置并选择JUnit
  4. 然后,在配置"运行配置"时,您将找到"测试类型"下拉列表,选择"目录中的所有类"
  5. 选择要用作根目录的目录,可以选择项目的顶级目录或模块的任何目录.
  6. 选择从哪里获取类路径的IntelliJ模块(如果它有类路径,它可以是顶级项目)

  • 在"Test Kind"中选择"All in package",然后选中"In whole project"复选框.这将在所有模块中运行测试. (14认同)
  • 我希望每个模块都使用自己的模块dir作为工作目录运行 - 这似乎似乎不可能它似乎使用单个模块目录. (5认同)

Dav*_*mas 14

选择所有模块,右键单击它们并选择运行所有测试。这将创建一个名为“整个项目”的配置,您可以随时再次运行该配置。

我发现这比接受的答案更好,因为它为每个模块分别运行单元测试。如果您的测试用例在其运行时使用特定于模块的资源,那么接受的答案的最佳方式将不起作用。

选择所有模块

选择所有模块

右键单击并选择运行所有测试

右键单击并选择运行所有测试

获取新的运行配置

获取新的运行配置

  • 在我看来,这应该是公认的答案。我唯一的保留意见是使用“最简单”一词。不幸的是,使用 Intellij 进行运行配置并不容易。通过配置完成简单任务的方法有很多种,但通常只有一种(如果有的话)。因此,您的任务通常是迭代所有不同的选项,寻找有效的选项。一点也不容易。 (3认同)
  • 即使我选择了一小部分模块,这也会运行项目(整个项目)中的_所有_测试。这不是我想要的。就我而言,我想要运行测试的所有模块都共享一个公共包,因此我可以编辑生成的“整个项目”配置并添加包,该包过滤器仅针对模块子集运行测试。 (2认同)

Lan*_*tel 5

对我来说,这两种解决方案都无法正常工作或无法正常工作.

对我来说,我有3个模块.我的模块依赖项看起来像这样

演示 - > - > 数据

我只想一起执行所有测试.所以我提出了"跨模块依赖"方法

我的设置如下:

在此输入图像描述