我有一个 maven2 多模块项目,在我的每个子模块中,我都有名为 Test.java
和 Integration.java
的 JUnit 测试,分别用于单元测试和集成测试。当我执行时:
mvn test
执行子模块中的所有 JUnit 测试 *Test.java
。当我执行
mvn test -Dtest=**/*Integration
Integration.java
测试都没有在子模块中执行。
这些对我来说似乎是完全相同的命令,但是带有 -Dtest= /*Integration** 的命令不起作用它显示在父级运行的 0 个测试,其中没有任何测试
原文由 Peter Delaney 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以设置 Maven 的 Surefire 来分别运行单元测试和集成测试。在标准单元测试阶段,您运行所有与集成测试不匹配的模式。然后 创建仅运行集成测试的第二个测试阶段。
这是一个例子: