ozh / phpunit-overassertive
在您的PHPUnit测试套件中查找过度断言的测试
dev-master
2020-03-25 13:08 UTC
Requires
- php: >=7
Requires (Dev)
- phpunit/phpunit: >=7
This package is auto-updated.
Last update: 2024-09-09 19:47:36 UTC
README
在同一个测试中有多个断言是正常的,但当断言失败时,整个测试都会终止,并且不会测试同一测试中的其他断言。
根据您要测试的内容和您的编码方式,您可能需要将一些测试分割成几个子测试。
OverAssertive 是一个PHPUnit扩展,它会在控制台中报告哪些测试有“太多”断言,其中“太多”是您定义的,以帮助您检查并可能重构一些测试。
用法
通过向您的测试套件的 phpunit.xml
文件中添加以下内容启用它
<phpunit bootstrap="vendor/autoload.php"> ... <listeners> <listener class="Ozh\PHPUnit\Listener\OverAssertiveTestsListener" /> </listeners> </phpunit>
如果您没有使用自动加载器,也可以指定库位置
<phpunit bootstrap="boostrap.php"> ... <listeners> <listener class="Ozh\PHPUnit\Listener\OverAssertiveTestsListener" file="/path/to/OverAssertiveTestsListener.php" /> </listeners> </phpunit>
现在正常运行您的测试套件。OverAssertive 将在套件完成后在控制台中报告过度断言的测试。
配置
OverAssertive有两个可配置的参数
- alertThreshold - 使测试过度断言的断言数量(默认:10个断言)
- reportLength - 报告中包含的过度断言测试数量(默认:10个测试)
这些配置参数在添加监听器时在 phpunit.xml
中设置
<phpunit ...> <!-- ... other suite configuration here ... --> <listeners> <listener class="Ozh\PHPUnit\Listener\OverAssertiveTestsListener"> <arguments> <array> <element key="alertThreshold"> <integer>10</integer> </element> <element key="reportLength"> <integer>10</integer> </element> </array> </arguments> </listener> </listeners> </phpunit>
灵感
非常感谢 phpunit-speedtrap
许可证
你想做什么就做什么。