2

我正在使用 TeamCity 和 JUnit 来构建和测试我正在编写的一些软件。因为我使用的是测试驱动的开发模式,所以我构建了单元测试来测试一个特性应该如何工作(最初它总是失败,因为这个特性还没有实现),然后我开发这个特性直到它通过所有它应该进行的测试。

在 TeamCity 中,我有两个构建步骤:第一个是编译我的项目的 Maven 构建步骤,第二个是另一个仅运行单元测试的 Maven 构建步骤。我想做的是找到一种方法让“构建成功”由第一步的成功或失败来确定,然后将所有通过或失败的测试作为构建的单独部分列出日志。这可能吗?

4

4 回答 4

3

您可以通过进入构建的“设置”选项卡并修改“构建失败条件”选项来更改 TeamCity 中构建的失败场景。

在此处输入图像描述

您可以关闭“至少一项测试失败”作为失败条件。只要所有内容都已编译,这将允许构建成功。

于 2013-04-03T21:30:04.090 回答
2

对于 TeamCity,将此行添加-Dmaven.test.failure.ignore=true到 Build Step 中的“Additional Maven command line parameters:”中

于 2014-11-22T13:30:51.320 回答
0

好的,事实证明我想做的事情需要在maven pom中配置,如下所示:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
        <testFailureIgnore>true</testFailureIgnore>
    </configuration>
</plugin>

如果某些测试失败,这允许构建完成,如下所示: 失败的测试成功构建

于 2013-04-08T15:43:22.790 回答
-2

因为我使用的是测试驱动的开发模式,所以我构建了单元测试来测试一个特性应该如何工作,然后我开发这个特性直到它通过了它应该通过的所有测试。

对不起,伙计,这根本不是测试驱动的开发。在 TDD 中,您总是只编写一个失败的测试,然后实现足够的代码来满足测试期望,然后重构。当所有测试(新的和旧的)都通过后,您可以将您的更改与其他测试集成。

可以按照您想要的方式设置 TeamCity,但这没有任何意义。

于 2013-04-04T07:01:23.927 回答