@codeCoverageIgnoreStart无法正常工作

时间:2014-05-20 13:24:40

标签: php unit-testing phpunit

我需要覆盖以下代码:

switch($contract["value"]){

...
case "n":
     $contract["error_msg"] = "some Error";
     break;
...

default:
     $contract["error_msg"] = "Unexpected Error";
     break;

这是一个捕获错误代码并将其转换为消息的开关,但默认情况下无法使用自动化测试重现,因此我尝试使用{{1}从代码覆盖率报告中忽略此代码注释,像这样:

@codeCoverageIgnoreStart

但是在我的测试运行之后,注释对报告没有任何影响,并且这些行保持不被发现。

enter image description here

我应该如何处理这种情况?

1 个答案:

答案 0 :(得分:1)

您可以使用

/**
 * @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