【问题标题】:Symfony 3 - Open profiler generated by test environment (functional tests) in the browserSymfony 3 - 在浏览器中打开由测试环境(功能测试)生成的分析器
【发布时间】:2019-06-10 07:30:55
【问题描述】:

我正在尝试使用该方法访问由功能测试生成的分析器

$client->enableProfiler() 

并通过使用

恢复令牌
$client->getProfile()->getToken()

但是当我转到“/_profiler/{TOKEN}”页面时,我收到了消息

找不到令牌 在数据库中找不到令牌“{TOKEN}”。

【问题讨论】:

    标签: unit-testing symfony environment profiler functional-testing


    【解决方案1】:

    配置文件令牌与环境相关。 您是否使用正确的环境查看/_profiler/{token} url?

    您可以尝试将 .env 中的 env 临时设置为 TEST

    【讨论】:

    • 不,我使用了“dev”环境。这确实是我提出的解决方案中所述的问题。您的解决方案也有效,但它涉及每次从开发到单元测试时更改配置文件,反之亦然。
    【解决方案2】:

    profiler 生成时,会放在当前环境对应的缓存文件夹中。功能测试的环境是“test”,浏览器的环境是“dev”。

    为了解决这个问题,可以通过添加测试环境的配置(config_test.yml),将测试环境生成的profilers放在“/var/cache/dev”文件夹中:

    framework:
        profiler:
            dsn: 'file:%kernel.root_dir%/../var/cache/dev/profiler'
    

    【讨论】:

    • 对于 symfony 5 是 'file:%kernel.project_dir%/var/cache/dev/profiler'
    猜你喜欢
    • 1970-01-01
    • 2017-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-09
    • 2015-01-30
    相关资源
    最近更新 更多