Assetic Bundles 缓存 Composer 配置 控制台 控制器 调试 部署 Doctrine 电子邮件 事件分发器 表达式 表单 前端 日志 分析器 请求 路由 安全 序列化 服务容器 会话 PSR 7 Symfony 版本 模板 测试 升级 验证 Web 服务器 Web 服务 工作流

发布于 2015-12-06 07:28:12 | 180 次阅读 | 评论: 0 | 来源: 网络整理

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

首先,添加以下文件:

// app/tests.bootstrap.php
if (isset($_ENV['BOOTSTRAP_CLEAR_CACHE_ENV'])) {
    passthru(sprintf(
        'php "%s/console" cache:clear --env=%s --no-warmup',
        __DIR__,
        $_ENV['BOOTSTRAP_CLEAR_CACHE_ENV']
    ));
}

require __DIR__.'/bootstrap.php.cache';

tests.bootstrap.php 替换 app/phpunit.xml.dist 里的测试引导文件 bootstrap.php.cache

<!-- app/phpunit.xml.dist -->

<!-- ... -->
<phpunit
    ...
    bootstrap = "tests.bootstrap.php"
>

现在您可以在您的 phpunit.xml.dist 文件中定义您想要在哪种环境下清理缓存:

<!-- app/phpunit.xml.dist -->
<php>
    <env name="BOOTSTRAP_CLEAR_CACHE_ENV" value="test"/>
</php>

现在,这已经变成了一个环境变量(即 $_ENV),可以在自定义引导文件(tests.bootstrap.php)中找到。

最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务