Php 未在覆盖率报告中显示的抽象方法

Php 未在覆盖率报告中显示的抽象方法,php,phpunit,code-coverage,Php,Phpunit,Code Coverage,我有一个包含抽象方法的抽象类 abstract class AbstractImporter { abstract protected function runImporter(); } 实现类 SomeImporter extends AbstractImporter { public function runImporter() { //This does some work } } 还有一个单元测试 SomeImporterTest ex

我有一个包含抽象方法的抽象类

abstract class AbstractImporter
{
    abstract protected function runImporter();
}
实现类

SomeImporter extends AbstractImporter
{
    public function runImporter()
    {
        //This does some work
    }
}
还有一个单元测试

SomeImporterTest extends \PHPUnit_Framework_TestCase
{
    public function testRunImporter()
    {
        $importer = new SomeImporter();
        $importer->runImporter();
        $this->assertTrue(true);
    }
}
如果我运行此命令,则AbstractImporter中包含抽象方法定义的行显示为未涵盖

我还尝试在SomeImporter中添加@covers AbstractImporter::runImporter注释

有什么想法吗?提前谢谢

编辑:

当我使用-coverage html创建报告时,它确实显示为不可访问,但我的IDE PHPStorm显示的是未覆盖的行。PHPStorm正在使用-coverage clover,在clover xml中,我看到以下行:

<line num="66" type="method" name="runImporter" crap="1" count="0"/>

这会降低你的保险范围吗?我的phpunit显示为无法访问的白色代码,而不是未覆盖的红色代码。是的,我的库中有98%,应该是100%;我将签入clover html报告。我的phpstorm显示为uncovered@cweiske,在html报告中,正如您所说,该行无法访问,我达到100%。这是PHP使用的clover xml导出风暴中的一个错误。我在XML中看到以下行。这是正确的吗?XML行在AbstractImporter中,所以我认为这是XML中的一个bug。我不确定垃圾属性的含义。