如何定制引导过程在运行测试之前

编辑该页面

如何定制引导过程在运行测试之前

有时在运行测试时,您需要在运行这些测试之前做额外的引导工作。例如,如果您正在运行功能测试和已经引入了一个新的翻译资源,那么你将需要运行这些测试前清除缓存。

安装测试使用Symf欧宝娱乐app下载地址ony的Flex,它已经创造了一个测试/ bootstrap.php文件是由PHPUnit)在你的测试。

您可以修改该文件来添加自定义逻辑:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
/ /测试/引导。phpuse Symfony\Component\Dotenv\Dotenv; require dirname(__DIR__).'/vendor/autoload.php'; if (file_exists(dirname(__DIR__).'/config/bootstrap.php')) { require dirname(__DIR__).'/config/bootstrap.php'; } elseif (method_exists(Dotenv::class, 'bootEnv')) { (new Dotenv())->bootEnv(dirname(__DIR__).'/.env'); }+如果(收取($ _ENV [' BOOTSTRAP_CLEAR_CACHE_ENV '])) {+ / /执行“php缓存bin /控制台:清楚”命令+ passthru (sprintf (+ ' APP_ENV = % s php“% s / . ./bin/console“缓存:明确——no-warmup’,+ $ _ENV [' BOOTSTRAP_CLEAR_CACHE_ENV '],+ __DIR__+));+}

请注意

如果你不使用Symfony Fle欧宝娱乐app下载地址x,确保这个文件是在你的配置为引导文件phpunit.xml.dist文件:

1 2 3 4 5 6 7
< !——phpunit.xml。区域- - >< ?xml version = " 1.0 " encoding = " utf - 8 " ? ><phpunit)引导=“测试/ bootstrap.php”>< !——……- - >< /phpunit)>

现在,您可以更新phpunit.xml.dist文件声明自定义环境变量了测试/ bootstrap.php:

1 2 3 4 5 6 7 8 9 10
< !——phpunit.xml。区域- - >< ?xml version = " 1.0 " encoding = " utf - 8 " ? ><phpunit)><php><env的名字=“BOOTSTRAP_CLEAR_CACHE_ENV”价值=“测试”/ >< !——……- - >< /php>< !——……- - >< /phpunit)>

现在,当运行供应商/ bin / phpunit)将自动清除缓存的引导文件在运行所有测试之前。

这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。
欧宝娱乐app下载地址Symfony 6.2支持通过苏禄人
欧宝娱乐app下载地址Symfony 6.2支持通过Les-Tilleuls.coop