在尝试创建测试的代码覆盖率报告时,我得到了一个奇怪的结果。
我称之为:
phpunit --coverage-html report tests/JSONTest.php
得到这个:
PHPUnit 3.6.12 by Sebastian Bergmann.
.
Time: 0 seconds, Memory: 6.75Mb
OK (1 test, 1 assertion)
Generating code coverage report in HTML format ... done
我的测试看起来像这样:
<?php
require_once dirname(__FILE__) . "/../include/includeAllNecessaryFiles.php";
class JSONTest extends PHPUnit_Framework_TestCase {
public function testBla() {
$this->assertEquals("hallo", "hallo");
}
}
文件includeAllNecessaryFiles.php有以下内容:
<?php
include '/usr/share/php/PHPUnit/Framework/TestCase.php';
function something(){
}
该报告列出了已使用的php文件的所有目录,但未列出任何文件。 它显示100%的覆盖率,0个线中有0个已被覆盖。
当我抛弃它时:
function something(){
}
报告正常运行并准确显示测试涵盖的行数。
有人有想法吗?
提前致谢!
本
答案 0 :(得分:0)
我发现代码覆盖率报告并不总是100%准确。可能有很多原因。我曾经问过Derick Rethans(Xdebug的创造者)。他告诉我,同时使用Zend Debugger与Xdebug(我倾向于这样做)已经知道要抛弃行数。
我知道这没什么用,但我只是想让你知道这是个问题。