加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 如何在Symfony2功能测试中使用经过身份验证的用户?

发布时间:2020-12-13 13:39:22 所属栏目:PHP教程 来源:网络整理
导读:我使用FacebookBundle来验证我的Symfony2应用程序中的用户.但是,我想使用phpunit创建功能测试,它使用经过身份验证的用户. 此外,我不想使用Facebook用户,而是编码一个. 有人知道如何实现吗? 其实很简单 安装security.yml用于测试环境(它是Symfony 2.0-RC3的
我使用FacebookBundle来验证我的Symfony2应用程序中的用户.但是,我想使用phpunit创建功能测试,它使用经过身份验证的用户.

此外,我不想使用Facebook用户,而是编码一个.

有人知道如何实现吗?

其实很简单

>安装security.yml用于测试环境(它是Symfony 2.0-RC3的一个片段)

security:
    encoders:
        SymfonyComponentSecurityCoreUserUser: plaintext

    providers:
        in_memory:
            users:
                user:  { password: userpass,roles: [ 'ROLE_USER' ] }
                admin: { password: adminpass,roles: [ 'ROLE_ADMIN' ] }

    firewalls:
         secured-area:
             pattern:    ^/demo/secured/
             http_basic:
                 realm: "Secured Demo Area"

>您可以看到HTTP身份验证已被定义.所以现在,你所要做的就是在功能测试中设置一个客户端:

$client = static::createClient(array(),array(
    'PHP_AUTH_USER' => 'user','PHP_AUTH_PW'   => 'userpass',));

此链接可能有用:http://symfony.com/doc/current/testing.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读