【发布时间】:2018-01-07 14:01:13
【问题描述】:
我有一个设置,其中一个 IDEA 项目有几个模块,每个模块都有自己的 JUnit 测试。
当我在每个单独模块的项目视图中右键单击并选择“运行所有测试”时,测试运行良好。
但是,当我右键单击包含项目并在那里执行“运行所有测试”时,仅执行其中一个模块的测试。
这是错误还是功能?我错过了什么?
谢谢。
针对 cmets,下面是更详细的设置:
java8-playground 是一个伞形项目,下面有 2 个模块(anyMatch & 平面地图):
两个模块都配置为使用 JUnit5。
两个模块的运行配置是通过我在项目视图中右键单击每个单独模块根目录(anyMatch & flatMap)以及项目根目录(java8-playground)。外观如下:
在执行顶级项目(java8-playground)的所有测试时,仅执行 anyMatch 模块的测试:
其他模块的测试未运行。独立调用时执行良好:
因此,当 IDEA 根据右键单击操作的所选上下文(项目或模块)自动创建运行配置时,它不应该足够聪明地正确地自动填充运行配置菜单中的“搜索测试”选项?
Classpath 似乎选择正确,但不是 Search for Tests 上下文。这是设计的吗?
【问题讨论】:
-
他们针对哪一个模块执行?
-
只有 2 个中的一个。看起来像 alpha 顺序中的第一个。
-
您使用什么 JUnit 版本?您能否附上您的运行配置的屏幕截图?
-
感谢您的信息!如果您将“搜索测试”更改为整个项目,它应该可以正常工作。此设置是设计使然,因为通常用户希望从父项目运行所有测试。因此预选了“单个模块”以避免意外运行所有测试。
标签: java intellij-idea junit5