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

编辑本页

警告:您正在浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 5.2,现已不再维护。

本页的更新版本用于Sy欧宝娱乐app下载地址mfony 6.2(当前稳定版本)。

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

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

欧宝娱乐app下载地址Symfony已经创建了以下内容测试/ bootstrap.php文件,以便在安装包时使用测试。如果你没有这个文件,创建它:

1 2 3 4 5 6 7 8 9 10
/ /测试/ bootstrap.php使用欧宝娱乐app下载地址组件DotenvDotenv需要目录名(__DIR__).“/供应商/ autoload.php”如果(file_exists(目录名(__DIR__).“/ config / bootstrap.php”)) {需要目录名(__DIR__).“/ config / bootstrap.php”;}elseif(method_exists (Dotenv::类,“bootEnv”)) {(Dotenv ())->bootEnv(目录名(__DIR__).' / .env ');}

然后,检查你的phpunit.xml.dist文件运行这个bootstrap.php运行测试前的文件:

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

现在,你可以定义phpunit.xml.dist文件要清除缓存的环境:

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

这现在变成了一个环境变量(即。_ENV美元),在自定义引导文件(测试/ bootstrap.php).

此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。