为什么代码覆盖要我覆盖定义变量?

why codecoverage want me to cover define variable?

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

codecov.io

我尝试添加代码覆盖忽略指令或添加 getter 并测试这些 getter 的 return,但结果始终相同。我不明白为什么报告要求我测试在 principle 中不必测试的常量变量。预先感谢您的帮助

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

// @codeCoverageIgnoreStart
define('A', 'B');
define('C', 'D');
// @codeCoverageIgnoreEnd

或者,将每个语句标记为忽略:

define('A', 'B'); // @codeCoverageIgnore
define('C', 'D'); // @codeCoverageIgnore

代码覆盖率报告不知道你是否必须测试某些东西。它只是报告在 运行 测试期间执行了哪些代码。你应该把它作为寻找你错过的地方的指南。仅仅因为有些线是红色的并不意味着你必须测试它们。仅仅因为线条是绿色并不意味着您已经涵盖了所有相关案例。