此具体问题的存储库:php - r/dynart-coverage-test
问题和主题一样:对于抽象类,无论我做什么,我总是得到0%的覆盖率。
- 我创建了
TheAbstractClass
和相关的TheAbstractClassTest
在测试中,我必须实例化抽象类,所以我为它创建了一个
TheTestableClass
,它扩展了TheAbstractClass
。我用PHPUnit的createMockForAbstractClass()
尝试了这个,同样的问题发生了。我运行测试后,一切都将通过,但TheAbstractClass
的覆盖率报告为0%,但TheConcreteClass
的覆盖率报告为100%。
我做错了什么,我怎么能覆盖我的抽象类?
我配置:
Windows 10- PHP 7.4.3
- Xdebug 2.8.1发布
- PHPUnit) 9.6.6
命令行测试调用包括以下参数:
-dauto_prepend_file=xdebug_filter.php
删除这个,你不需要它,因为代码覆盖目录已经由phpunit.xml.dist
文件提供了。