【问题标题】:How to configure build step for maven goal in teamcity to run unit test如何在teamcity中为maven目标配置构建步骤以运行单元测试
【发布时间】:2018-04-01 19:37:52
【问题描述】:
我在我的 java 项目(使用 intellij idea 开发)中使用 junit 进行单元测试,并且我想在团队城市中配置构建步骤以仅运行我的单元测试。我也使用 maven 来构建我的项目。当我将 maven 的目标设置为“干净编译”但我不知道如何配置构建步骤来运行单元测试时,它可以工作。
也在命令行中。当我运行“maven test”时,它会正确运行单元测试并显示失败。
【问题讨论】:
标签:
maven
unit-testing
intellij-idea
junit
teamcity
【解决方案1】:
我无法对 TeamCity 发表评论,但无论如何我都会根据我的专家知识尝试提供帮助。
首先mvn clean compile 永远不会运行您的单元测试,因为 maven 有一个 生命周期 的概念,并且测试阶段将在编译阶段之后到来。
当您运行 mvn test 时,它将运行所有正面(包括)测试阶段,因此单元测试将作为 maven 默认生命周期的一部分运行。
现在您询问的是“运行单元测试的构建步骤”,我从中得出结论,您需要一个单独的步骤。在 maven 阶段无非就是运行一系列插件。在maven中插件有目标,所以你可以直接运行一个负责运行单元测试的插件。
在 maven 中,这个插件叫做“surefire”,一个目标叫做“test”,所以你可以运行:
mvn surefire:test
鉴于类(生产代码和测试)已编译,您会看到这只运行您的单元测试。所以这可能必须在 Team City 中进行配置。