phpunit 测试完成后如何运行脚本

问题描述 投票:0回答:2

所有 PHPUnit 测试完成后,我可以自动运行 PHP 脚本吗?

我想在所有测试完成后报告一些非致命问题(即正确但次优的测试结果)。

phpunit
2个回答
2
投票

假设您可以检测到此类次优结果,PHPUnit(v9 及之前版本)有一个“TestListener”设施,可以使用自定义代码进行扩展并在 phpunit.xml 文件中启用。它可以在测试之前和之后运行代码,并针对每个潜在结果(通过/失败/错误等)。

PHPUnit 10 用新的 events 系统替换了 TestListener。


0
投票

执行此操作的另一种方法是调用 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"; 
});
© www.soinside.com 2019 - 2024. All rights reserved.