Symfony 为什么codecoverage要我涵盖定义变量?

Symfony 为什么codecoverage要我涵盖定义变量?,symfony,phpunit,code-coverage,Symfony,Phpunit,Code Coverage,晚上好,我正在为symfony创建一个包。我为我的方法创建了单元测试,并生成了测试覆盖率报告(通过travis ci,然后发送到codecov.io)。我还有一部分代码没有涉及,即常量(define): 我尝试添加代码覆盖率忽略指令或添加getter并测试这些getter的返回,但结果总是一样的。我不明白为什么报告要求我测试原则上不需要测试的常量变量。提前感谢您的帮助@codeCoverageIgnore可用于类、方法和单个语句。如果要排除块,请使用@codecoverageignoretar

晚上好,我正在为symfony创建一个包。我为我的方法创建了单元测试,并生成了测试覆盖率报告(通过travis ci,然后发送到codecov.io)。我还有一部分代码没有涉及,即常量(define):


我尝试添加代码覆盖率忽略指令或添加getter并测试这些getter的返回,但结果总是一样的。我不明白为什么报告要求我测试原则上不需要测试的常量变量。提前感谢您的帮助

@codeCoverageIgnore
可用于类、方法和单个语句。如果要排除块,请使用
@codecoverageignoretart
@codecoverageignorend

// @codeCoverageIgnoreStart
define('A', 'B');
define('C', 'D');
// @codeCoverageIgnoreEnd
或者,将每条语句标记为已忽略:

define('A', 'B'); // @codeCoverageIgnore
define('C', 'D'); // @codeCoverageIgnore
代码覆盖率报告不知道是否必须测试某些内容。它只报告在运行测试时执行的代码。你应该把它作为一个指南来寻找你错过的地方。仅仅因为一些线是红色的并不意味着你必须测试它们。仅仅因为行是绿色的并不意味着您已经涵盖了所有相关案例。

谢谢您定义('A','B');//codeCoverageIgnore是正确的方法。我试过//重新启动,但没有成功。是的,封面只是一个指南,但由于封面的结果考虑到了这个计算,这扭曲了情况。。。再次感谢你的帮助!