【问题标题】:TeamCity: How do you report low unit test coverage?TeamCity:您如何报告低单元测试覆盖率?
【发布时间】:2014-01-10 08:45:28
【问题描述】:

我们使用 TeamCity 7(可以升级到 8)进行持续集成,我们为自己设定了 90% 的单元测试覆盖率目标。如果覆盖率较低,我知道如何使构建失败,但我不想这样做,因为缺少测试会减慢所有开发速度。

另一方面,我想在构建概述页面上清楚地看到覆盖率很低 - 我看到的唯一选项是这样的服务消息:

##teamcity[buildStatus status='SUCCESS' text='WARN: Test coverage only 89% {build.status.text}']

但这不会发送任何通知。请问您还有什么建议吗?

【问题讨论】:

  • 顺便说一句:像测试覆盖率这样的指标对开发人员来说是一个很好的指南,但是设置像你这样的目标通常会导致代码旨在满足这些任意目标,而不是满足客户的质量需求。例如,如果你有一个 DTO,你最终会编写代码来测试它的 getter 和 setter,只是为了达到你设定的 90% 的目标,但这绝对不会给代码增加任何价值,也不会给你的客户带来任何价值。在 TC 中显示覆盖率报告是个好主意,但设定目标通常被认为是个坏主意。
  • [ExcludeFromCodeCoverage] 属性可用于纠正此问题

标签: unit-testing continuous-integration teamcity code-coverage


【解决方案1】:

将覆盖 html 设置为工件并从 Teamcity 链接到它。 IE设置了一个新标签,它看起来像这样。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-01
    • 2016-08-04
    • 2014-02-21
    • 1970-01-01
    • 1970-01-01
    • 2017-03-23
    • 2017-04-24
    相关资源
    最近更新 更多