Igo*_*huk 5 teamcity code-coverage teamcity-5.1
我有一个TeamCity构建,可以捕获单元测试的代码覆盖率.我还为构建成功的最小代码覆盖定义了一个环境变量,该工作正常,但我不想手动维护此阈值.我的问题是,是否存在一种方法(在TeamCity之外的某个地方发布代码覆盖率统计数据,然后读取上次成功构建的结果),以便在代码覆盖率提高时自动调整阈值,以确保在不允许的情况下实现稳定的改进倒退:)?
例如,假设当前代码覆盖率为20%(遗留应用程序),并且在编写新的单元测试时,代码覆盖率提高到25%.然后,有人检查新代码而不进行单元测试,代码覆盖率降至24%.我希望TeamCity失败,因为代码覆盖率从25%下降到24%.
我有一些关于代码覆盖的宠物理论,在我开始回答这个问题之前,我想先解释一下.
首先是一些背景:
我有一个理论,就代码覆盖而言,你应该将你的代码分成两个部分:
任何一个部门都可以由许多项目构成,但是一个部门的成员应该是文件(假设Java和C#都有源文件),最好是整个文件夹.你可以在第一个分区中拥有一组项目,在第二个分区中拥有另一组项目.
现在,报道缺乏覆盖率只是第二部门的线路数量.
操作模式应该是您正在测试代码,代码只是属于100%覆盖范围.但是,如果你发现一些棘手的代码,你的大脑无法找到测试的方法,你应该重构,以便未测试的位进入第二个分区.或者你可以得到一个脑波,并且能够找到一个将第二个分区提高到0%以上的测试,此时你将代码重构到第一个分区.这意味着每次办理登机手续都会保持理论上的不变性.
现在,回到问题:
不,除了简要介绍JetBrains网站之外,我根本不了解TeamCity ,所以我不知道如何更新覆盖范围,但根据我的理论,它应该是100%或者没什么,你可以为每个项目设置限制吗?如果可以,那么第一个分部的固定限制为100%.
如果您可以获得两个分区,您可能希望使用第二个分区的代码度量标准进行自动更新,逐渐降低更好.
这是一个老问题,但我想提一下,现在可以通过“故障条件”功能在较新版本的 TeamCity 中实现这一点。故障条件可以使用常量并与之前生成的指标进行比较。在这种情况下,失败情况将如下所示:

| 归档时间: |
|
| 查看次数: |
1369 次 |
| 最近记录: |