Phpunit代码覆盖率 - 在测试中包含带有函数的文件时分析的0个文件

时间:2013-04-23 20:05:30

标签: report phpunit code-coverage

在尝试创建测试的代码覆盖率报告时,我得到了一个奇怪的结果。

我称之为:

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(){

}

报告正常运行并准确显示测试涵盖的行数。

有人有想法吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

我发现代码覆盖率报告并不总是100%准确。可能有很多原因。我曾经问过Derick Rethans(Xdebug的创造者)。他告诉我,同时使用Zend Debugger与Xdebug(我倾向于这样做)已经知道要抛弃行数。

我知道这没什么用,但我只是想让你知道这是个问题。