Symfony 3功能测试:验证自己User类的用户

时间:2016-03-07 15:32:53

标签: testing phpunit symfony

我想在我的网站上需要身份验证的部分运行功能测试。我找到了Symfony 2.x here的解决方案。但是,这对Symfony3不起作用,因为现在不推荐使用此行:

self::$kernel->getContainer()->get('security.context')->setToken($token);

我的问题是,如何解决这个问题并使其与Symfony3一起使用?谢谢。

1 个答案:

答案 0 :(得分:1)

在Symfony 3中,SecurityContext被分为TokenStorageAuthorizationChecker。因此,您需要使用security.token_storage服务:

self::$kernel->getContainer()->get('security.token_storage')->setToken($token);

但是,更简单的方法是在测试中切换到HTTP Basic身份验证,并按http://symfony.com/doc/current/cookbook/testing/http_authentication.html中所述配置登录用户。