我想在我的网站上需要身份验证的部分运行功能测试。我找到了Symfony 2.x here的解决方案。但是,这对Symfony3不起作用,因为现在不推荐使用此行:
self::$kernel->getContainer()->get('security.context')->setToken($token);
我的问题是,如何解决这个问题并使其与Symfony3一起使用?谢谢。
答案 0 :(得分:1)
在Symfony 3中,SecurityContext
被分为TokenStorage
和AuthorizationChecker
。因此,您需要使用security.token_storage
服务:
self::$kernel->getContainer()->get('security.token_storage')->setToken($token);
但是,更简单的方法是在测试中切换到HTTP Basic身份验证,并按http://symfony.com/doc/current/cookbook/testing/http_authentication.html中所述配置登录用户。