如何一次运行两个或多个IDEA模块的所有测试?
我使用了很多模块,经常运行所有单元测试非常重要,当我选择运行多个文件夹时,上下文菜单上就没有“运行”选项了。
答案 0 :(得分:89)
最佳方式:(3年后编辑)
甚至有更好的方法来实现这一目标。
选择菜单“运行”→“编辑配置...”。单击左上角的绿色加号,然后选择JUnit。
选择“测试种类”为“模式”并完全按照您的意见输入此正则表达式:^(?!.*IT$).*$
(以插入符^
开头,以美元$
结尾) 。这个正则表示:所有未在其名称中以IT结束的测试。
选择“搜索测试”到“整个项目”。工作目录应设置为顶层模块工作目录(默认情况下应设置)。
输入您的测试名称,例如“所有单元测试”。我也喜欢标记“共享”选项,以便此配置不会在以后消失。单击“应用”,然后单击“确定”。
您可以尝试使用此正则表达式来满足您的需求。
原始回答:
这是可行的,虽然它不舒服。
test/java
目录和“运行所有测试”。它创建了测试配置。这样您就可以按顺序运行配置,并且每个配置都会获得一个新选项卡。仍然,总比没有好。
答案 1 :(得分:20)
您必须创建“运行配置”:
答案 2 :(得分:5)
对我而言,这两种解决方案都无效或无法正常工作。
对我来说,我有3个模块。我的模块依赖项看起来像这样
演示文稿 - > 域 - > 数据强>
我只想一起执行所有测试。所以我提出了“跨模块依赖关系”方法
我的设置如下:
答案 3 :(得分:2)
我找到的最简单的方法是选择所有模块,右键单击它们,然后选择运行所有测试。这将创建一个名为“整个项目” 的配置,您可以随时再次运行它。
我发现这比接受的答案要好,因为这可以为每个模块分别运行单元测试。如果您的测试用例在运行时使用特定于模块的资源,那么公认的最佳答案将无法正常工作。
选择所有模块
右键单击并选择运行所有测试
获取新的运行配置
答案 4 :(得分:1)
另一个不那么明显的情况是,在多个项目上需要代码覆盖。天真的解决方案是选择多个项目并立即在其中运行所有单元测试。事实证明,如果类路径发生变化,单元测试可能会失败,并且IntelliJ每个运行配置只有一个类路径条目。在这种情况下,顺序运行单元测试实际上就足够了。这是因为在每次运行结束时,IntelliJ(2017.2.5社区版)会询问收集的覆盖范围是否应该替换或应该添加到先前收集的覆盖统计数据中。
答案 5 :(得分:1)
这对于具有多个模块的项目很有效。
创建一个新的JUnit运行/调试配置。 测试种类:“全包” 搜索测试:“整个项目”
您还必须指定一个工作目录。
答案 6 :(得分:0)
如果你使用 Gradle 并且有多个模块,你可以这样做:
Settings/Build, Execution, Deployment/Build Tools/Gradle
-> Run tests using: Gradle
)Run test in [module name]
Edit Configurations...
:foo:test :bar:test :baz:test --tests *
Test Foo + Bar + Baz
现在您可以运行配置来执行您需要的测试。