我使用 FacebookBundle
在我的 Symfony2 应用程序中验证用户。但是,我想使用经过身份验证的用户使用 phpunit 创建功能测试。
此外,我不想为此使用 facebook 用户,而是使用 harcoded 用户。
有人知道如何实现吗?
最佳答案
其实很简单。
为测试环境设置
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', ));
关于php - 如何在 Symfony2 功能测试中使用经过身份验证的用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6535873/