IntelliJ测试类路径:运行类与包时不同

时间:2016-07-17 21:58:01

标签: java maven intellij-idea

我有一个多模块项目,它有一个专门用于运行集成测试的测试模块。 我注意到,在运行单个类与运行所有相同的包时,测试类路径会发生显着变化。

从检查中我可以看到另一个项目模块(以及它的依赖项)被添加到类路径中,而不是测试模块的依赖项(直接或传递) - 它实际上是一个数据库迁移库,不依赖于其他任何东西。

在运行单个类与同一个包中的所有3个类时,任何人都可以理解为什么测试类路径会发生变化吗?

背景: IntelliJ 14.1.3 通过Maven运行时测试通过

1 个答案:

答案 0 :(得分:0)

可以在Run...运行配置部分中看到差异。

对包使用Run...选项时,Test kind默认为All in Package,但Package不默认为调用Run...时使用的包。默认的Use classpath of module显示为灰色(并且在您选择Package之前将保持这种状态),因此看起来使用了所有模块的类路径。

在程序包中运行所有测试时,

Use classpath of module是我需要更正类路径的选项。

enter image description here