[英]How to use an authenticated user in a Symfony2 functional test?
我使用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', ));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.