如何知道 xdebug 是否正确?

How to know if xdebug is right?

我 运行 一些测试和一些报告没有意义例如:

我还有一个例子:

如果您没有 switch 不匹配的测试,那么 xdebug 覆盖率是正确的。

如果执行仅 return 从测试中的开关开始,则方法结束(隐式无效 return)永远不会 reached/executed,因此不包括在内。

你可以确信此时这里没有问题,但随着时间的推移,这很脆弱。如果添加了第三种可能性,却忘记处理怎么办?等等。

覆盖率在这里发挥作用——它指出了一个未被测试的(潜在)代码路径。

通过查看您提供的示例 xdebug 实际上是 "right",因为 return 语句都在开关内,您永远不会到达该函数的最后一行。

还有一些选项允许 "strict" 覆盖,以排除递归调用的代码,所以请注意,如果这不是您期望的行为,您就不会运行其中一些