Php 如何在Symfony2功能测试中使用经过身份验证的用户?
我使用Php 如何在Symfony2功能测试中使用经过身份验证的用户?,php,phpunit,symfony,Php,Phpunit,Symfony,我使用FacebookBundle对Symfony2应用程序中的用户进行身份验证。但是,我想使用phpunit创建功能测试,它使用经过身份验证的用户 此外,我不想用facebook用户来做这件事,但我想用一个 有人知道如何实现吗?其实很简单 为测试环境设置security.yml(它是Symfony 2.0-RC3的一个片段) 如您所见,定义了HTTP身份验证。现在,您所要做的就是在功能测试中设置客户端: $client = static::createClient(array(), arra
FacebookBundle
对Symfony2应用程序中的用户进行身份验证。但是,我想使用phpunit创建功能测试,它使用经过身份验证的用户
此外,我不想用facebook用户来做这件事,但我想用一个
有人知道如何实现吗?其实很简单
security.yml
(它是Symfony 2.0-RC3的一个片段)
$client = static::createClient(array(), array(
'PHP_AUTH_USER' => 'user',
'PHP_AUTH_PW' => 'userpass',
));
此链接可能有用:谢谢您的回答。但是,我希望这个用户有很多其他属性,这些属性在我的应用程序中使用。例如,它们具有$facebookId属性。如何使用具有自定义属性的硬编码用户?如何为测试环境指定不同的安全配置?我希望能够将我的cusom wsse Provider更改为basic in memory。@WhistRGreg我相信您所要做的就是覆盖
config\u test.yml/.xml
中的security
定义。尝试过之后,我发现不允许您为路径“security.providers”定义新元素。请在一个配置文件中定义此路径的所有元素。
@WhistRGreg然后将security.yml
的导入从config.yml
移动到config\u prod/dev.yml
,创建security\u test.yml
并将其导入config\u test.yml
。您可能还需要从config\u test.yml
中删除对config\u dev.yml
的依赖项。
$client = static::createClient(array(), array(
'PHP_AUTH_USER' => 'user',
'PHP_AUTH_PW' => 'userpass',
));