我使用FacebookBundle来验证我的Symfony2应用程序中的用户.但是,我想使用PHPunit创建功能测试,它使用经过身份验证的用户.
此外,我不想使用Facebook用户,而是编码一个.
有人知道如何实现吗?
其实很简单
>安装security.yml用于测试环境(它是Symfony 2.0-RC3的一个片段)
security: encoders: Symfony\Component\Security\Core\User\User: 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',));