我需要覆盖以下代码:
switch($contract["value"]){
...
case "n":
$contract["error_msg"] = "some Error";
break;
...
default:
$contract["error_msg"] = "Unexpected Error";
break;
这是一个捕获错误代码并将其转换为消息的开关,但是使用自动化测试无法重现默认情况,因此我尝试使用
@codeCoverageIgnoreStart
注释从代码覆盖率报告中忽略此代码,如下所示://@codeCoverageIgnoreStart
default:
contract["error_msg"] = "Unexpected Error";
break;
//@codeCoverageIgnoreEnd
但是在运行我的测试之后,注释对报告没有任何影响,并且行保持未覆盖。
我应该如何处理这种情况?
最佳答案
您可以使用
/**
* @codeCoverageIgnore
*/
或者你测试
Default:
//@codeCoverageIgnoreStart
contract["error_msg"] = "Unexpected Error";
//@codeCoverageIgnoreEnd
break;
来自 http://phpunit.de/manual/3.7/en/code-coverage-analysis.html#code-coverage-analysis.ignoring-code-blocks.examples.Sample.php
关于php - @codeCoverageIgnoreStart 无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23761098/