我有一个大型构建,其中测试有时会阻止创建 Artifact ,因为它们会因模块超时而停止或终止构建。我希望我的构建服务器:
目前,单元和集成测试在每个模块的测试和集成测试阶段以典型的 Maven 方式执行。这对开发人员来说非常有用,但存在构建不足的风险。构建服务器可以通过跳过测试轻松设置构建/发布步骤,我想运行一个仅测试测试,该测试通过仅运行测试的包阶段跳过进程资源。但是,我相当肯定 maven 将再次遍历之前的所有阶段。
我想通过不必要地重建和重新打包我的 Artifact 来避免延长已经相当长的构建。
有没有人像这样拆分 maven 构建,以便桌面开发人员从测试集成中受益,而构建服务器/持续集成系统从将有风险的测试推到流程结束时受益,所以我们总是产生 Artifact ?
我是否试图以错误的方式分解构建,是否应该考虑在一系列较小的组件构建中更改单一的端到端构建?
谢谢
彼得
最佳答案
您可以这样做:
像这样:
mvn install -DskipTests
mvn surefire:test failsafe:integration-test
如果您必须在一个命令行上完成所有这些操作,我相信您可以通过拥有两个配置文件来解决问题。一种跳过测试,一种只运行测试。
关于maven - 我可以将 maven 编译/打包和测试分成两个步骤,而无需不必要地重建 Artifact 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16901043/