VSTS新手入门
我在VSTS中设置CI管道&在这样做的同时,我需要设置代码覆盖率验证,如果代码覆盖率是80%+,则构建,否则不要构建。

我在定义中启用了Code Coverage选项,但如何设置此质量检查??
发布于 2018-06-04 21:10:23
你不能,老实说,你不应该。任意的代码覆盖率要求是可怕的,因为代码覆盖率是一个指标。它为您提供了一些可能有用的信息,但它本身并不能告诉您任何信息。
代码覆盖率可以明确告诉您的唯一一件事是:“什么代码根本没有被测试?”
拥有80%的代码覆盖率并不意味着“我有80%没有bug的代码”或"80%的代码在功能上是正确的“。它会告诉你“有人写了一些测试代码,涉及到我80%的代码。”并不是说测试是正确的,或者是好的,或者包含有意义的断言和验证正确的行为。
将任意的代码覆盖率百分比作为需求放在适当的位置是没有价值的。如果团队还没有准备好良好的测试实践,并为新代码编写良好的测试,他们将只会玩弄数字。您可以编写一个测试方法,该方法将运行一些代码,不进行任何断言,并报告一个非常高的代码覆盖率数字。
如果团队已经有了良好的测试实践,如果覆盖率降到79%,他们就不需要构建来对他们大喊大叫了。也许他们添加了一大堆工具生成的“设计器”代码,而这些代码不需要彻底的测试。
综上所述,SonarQube (我相信还有其他工具)允许您定义质量关口(包括所需的代码覆盖率编号),并在构建不符合该质量关口时使构建失败。
https://stackoverflow.com/questions/50680357
复制相似问题