所有 PHPUnit 测试完成后,我可以自动运行 PHP 脚本吗?
我想在所有测试完成后报告一些非致命问题(即正确但次优的测试结果)。
假设您可以检测到此类次优结果,PHPUnit(v9 及之前版本)有一个“TestListener”设施,可以使用自定义代码进行扩展并在 phpunit.xml 文件中启用。它可以在测试之前和之后运行代码,并针对每个潜在结果(通过/失败/错误等)。
PHPUnit 10 用新的 events 系统替换了 TestListener。
执行此操作的另一种方法是调用 PHPUnit 的引导脚本。在这个文件中,您可以使用函数
register_shutdown_function
,该函数将在所有测试完成后执行一次。
在命令行上,它看起来像这样:
phpunit --bootstrap "path/to/bootstrap.php"
在 bootstrap.php 文件中,您定义如下内容:
register_shutdown_function(function () {
echo "This code was called after all tests were executed";
});