繁体   English   中英

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

[英]How to use an authenticated user in a Symfony2 functional test?

我使用FacebookBundle在我的 Symfony2 应用程序中对用户进行身份验证。 但是,我想使用经过身份验证的用户的 phpunit 创建功能测试。

此外,我不想为此使用 facebook 用户,而是使用硬编码的用户。

有人知道如何实施吗?

其实很简单。

  1. 为测试环境设置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"
  2. 如您所见,定义了 HTTP 身份验证。 所以现在,您所要做的就是在功能测试中设置一个客户端:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM