我想以单元测试开始和结束运行一个 Maven 项目生命周期。
如何跳过重新编译和重新解析依赖项而只运行测试阶段?
如果您通过调用一个阶段来启动 Maven,它将执行所有生命周期阶段,直到您调用的那个阶段。例如,当调用
mvn test
测试生命周期阶段之前的所有阶段也将执行:项目将被验证,源和资源将生成和处理,源将被编译,测试源和资源也会发生同样的情况,最后将运行单元测试。
但是您也可以调用绑定到生命周期阶段的插件目标。在测试阶段的情况下,绑定目标是surefire的测试魔力。所以你可以打电话
mvn surefire:test
并且不会执行其他生命周期阶段。您可以在此处根据包类型找到绑定到每个阶段的目标。
您可以运行:
mvn surefire:test
构建你自己的生命周期,或者使用 Maven 之外的东西运行测试(Ant、Gradle、你的 IDE、命令行 JUnit 运行器,...)。这就是您在使用 Maven 时所承受的那种限制。