【问题标题】:Symfony2 functional testing of Access Denied拒绝访问的 Symfony2 功能测试
【发布时间】:2013-08-26 17:58:55
【问题描述】:

我想在 Symfony2 中构建一个功能测试,以检查访客是否被重定向到登录,页面上允许某些用户类型,而其他类型则显示拒绝访问。

前两个我做到了零问题,但每当我尝试在拒绝访问场景中访问该页面时,我的终端都会被该页面的内容(这是一大堆跟踪和调试)淹没。

有什么建议吗?

【问题讨论】:

    标签: php symfony functional-testing


    【解决方案1】:

    为运行测试创建一个单独的环境,并将调试设置为 false。

    我不确定您是如何运行测试的,但如果它们通过前端控制器 (app_dev.php),请执行以下操作:

    将 app_dev.php 复制到 app_test.php

    改变

    $kernel = new AppKernel('dev', true);
    

    $kernel = new AppKernel('test', false);
    

    第二个参数是 $debug 标志。

    你也可以注释掉:

    //Debug::enable();
    

    编辑:

    从文档中,要覆盖必须使用的功能测试的调试参数:

    $client = static::createClient(array(
        'environment' => 'my_test_env',
        'debug'       => false,
    ));
    

    【讨论】:

    • 不,没有帮助 :( 错误仍然充斥着我的终端 :(
    • 您是否尝试在测试中捕获 AccessDeniedException?完整的命名空间是 Symfony\Component\Security\Core\Exception\AccessDeniedException ,对于 phpunit 参考请参见 phpunit.de/manual/3.2/en/…
    • 另请查看symfony.com/doc/current/book/testing.html#testing-configuration,了解如何覆盖默认调试模式进行测试。
    • 它适用于设置 createClient。那只是需要改变。 '环境' => '测试', '调试' => false, ) );
    猜你喜欢
    • 2013-09-15
    • 2014-11-19
    • 1970-01-01
    • 2016-10-06
    • 2016-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多