phpunit overassertive
1.0.0
在同一个测试中拥有多个断言是可以的,但是当一个断言失败时,整个测试将中止,并且同一测试中的其他断言不会被测试。
根据您测试的内容以及编码方式,您可能希望将某些测试拆分为多个子测试。
OverAssertive是一个 PHPUnit 扩展,它在控制台中直接报告哪些测试有“太多”断言,其中“太多”是您定义的,以帮助您检查并可能重构一些测试。
通过将以下内容添加到测试套件的phpunit.xml
文件中,使用所有默认值启用它:
<phpunit bootstrap="vendor/autoload.php"> ... <听众> <listener class="OzhPHPUnitListenerOverAssertiveTestsListener" /> </听众> </phpunit>
如果您不使用自动加载器,您还可以指定库位置:
<phpunit bootstrap="boostrap.php"> ... <听众> <listener class="OzhPHPUnitListenerOverAssertiveTestsListener" file="/path/to/OverAssertiveTestsListener.php" /> </听众> </phpunit>
现在正常运行您的测试套件。套件完成后,OverAssertive 将在控制台中报告断言测试。
OverAssertive 有两个可配置参数:
AlertThreshold - 将进行断言测试的断言数量(默认值:10 个断言)
reportLength - 报告中包含的过度自信测试的数量(默认值:10 个测试)
添加监听器时在phpunit.xml
中设置这些配置参数:
<phpunit ...><!-- ...其他套件配置在这里... --><listeners> <listener class="OzhPHPUnitListenerOverAssertiveTestsListener"> <参数> <数组> <元素键=“警报阈值”> <整数>10</整数> </元素> <元素键=“报告长度”> <整数>10</整数> </元素> </数组> </参数> </听众> </听众> </phpunit>
非常感谢 phpunit-speedtrap
做任何你想做的事。