ockcyp / covers-validator
验证PHPUnit测试中的@covers标签
v1.6.0
2022-10-04 20:00 UTC
Requires
- php: ^7.1 || ^8.0
- phpunit/phpunit: >=7.0,<10.0
- symfony/console: >=2.7,<7.0
README
PHPUnit @covers标签验证器
PHPUnit在测试包含无效的@covers标签时无法生成覆盖率报告。
此工具允许您确定哪些测试包含无效的@covers标签,而无需运行覆盖率。
通常,覆盖率报告的运行频率低于测试,因为运行需要很长时间。此工具验证@covers标签的速度比您运行测试要快。
另请参阅: dunkelfrosch/phpcoverfish
为什么?
Trying to @cover or @use not existing class or interface "NonExistentClass".
Trying to @cover or @use not existing method "ExistingClass::nonExistantMethod".
见: phpunit/issues/1758
另请参阅: phpunit/issues/1791
安装
composer require --dev ockcyp/covers-validator
PHPUnit版本
最新版本的covers-validator支持PHP 7.1+和PHPUnit 7+。请使用版本0.5用于旧版PHP和PHPUnit版本。
以下为0.5版本的安装方法
composer require --dev ockcyp/covers-validator "^0.5"
用法
vendor/bin/covers-validator
提供可选的-c
参数以加载特定的PHPUnit配置文件
vendor/bin/covers-validator -c tests/Fixtures/configuration.xml
覆盖PHPUnit配置中指定的bootstrap
vendor/bin/covers-validator --bootstrap tests/bootstrap.php
通过提供-q
参数禁用输出
vendor/bin/covers-validator -q
调整详细程度
示例输出
正常详细程度
Invalid - OckCyp\CoversValidator\Tests\Fixtures\TwoTestCoveringNonExistentClassTest::testDummyTest
There were 1 test(s) with invalid @covers tags.
最大详细程度(调试)
Configuration file loaded: /home/omer/Projects/Personal/covers-validator/tests/Fixtures/configuration-all.xml
Validating OckCyp\CoversValidator\Tests\Fixtures\TwoTestCoveringExistingClassTest::testDummyTest...
Valid - OckCyp\CoversValidator\Tests\Fixtures\TwoTestCoveringExistingClassTest::testDummyTest
Validating OckCyp\CoversValidator\Tests\Fixtures\TwoTestCoveringNonExistentClassTest::testDummyTest...
Invalid - OckCyp\CoversValidator\Tests\Fixtures\TwoTestCoveringNonExistentClassTest::testDummyTest
There were 1 test(s) with invalid @covers tags.
提示: 命令在任何一个@covers标签无效时返回退出代码1。请将其用于失败构建。
测试
要运行测试,请执行
vendor/bin/phpunit