我正在使用简单框架进行单元测试,并使用xdebug进行代码覆盖率报告。让我解释一下我的问题:
现在的问题是,当我打印xdebug_get_code_coverage()时,它给我带有文件名,行号和执行时间的2维assosiative数组。结果是这样的:
array
'path/to/file/pagination.php' =>
array
11 => int 1
113 => int 1
第11行是类的开始,第113行是类的结束。我不知道它为什么不进入类内部,为什么它不给类语句的语句覆盖。但是,我的测试用例看起来还不错,我知道所有条件和分支覆盖都有效。
如果您在这方面帮助我并指导我如何解决这个问题,我将非常感激。
也许我在这里错过了什么。如果你想要更多的东西,请告诉我。
答案 0 :(得分:1)
我为一个带有调用方法的类实现了一个XDebug-CC,它工作正常。虽然我不得不说我对这个工具如何定义“可执行代码”感到有些困惑,但它肯定会考虑方法。
您可以检查xdebug_start_code_coverage()和xdebug_get_code_coverage()的位置,因为必须在开头和结尾调用它们。
此外,您可以检查您的XDebug版本,因为自该功能发布以来已经有一些准确性改进。
最佳
拉斐尔
答案 1 :(得分:0)
SimpleTest具有相当容易设置的coverage扩展。 IIRC只是在svn而不是正常的打包下载。 (通常在simpletest / extensions / coverage /中)
您可以查看文章,了解如何实施它的示例:
http://www.acquia.com/blog/calculating-test-coverage http://drupal.org/node/1208382