我正在尝试在功能测试中验证用户,以检查他是否被重定向。
我的控制器:
public function preRegisterAction()
{
if ($this->getUser() instanceof User) {
return new RedirectResponse();
}
return $this->render(
'pages/pre-register.html.twig'
);
}我的测试:
public function setUp()
{
$this->client = static::createClient();
}
public function testPreRegisterAction()
{
$user = new User();
$user->setEmail('test@test.fr');
$user->setCreated(new \DateTime());
$user->setId(43);
$tokenStorage = $this->client->getContainer()->get('security.token_storage');
$tokenStorage->setToken(new UsernamePasswordToken($user, null, 'main', ['ROLE_USER']));
$this->client->request('GET', '/choix');
$this->assertTrue($this->client->getResponse()->isRedirection());
}我不知道使用断言是否合适。但是,即使使用令牌存储似乎也不起作用。当我在控制器中执行令牌存储的var_dump时,我看不到我在测试中注入的用户。
发布于 2018-06-02 00:24:43
我不知道为什么你的代码在测试中不能工作。我对安全组件的了解不深,但有两种推荐的方法来验证用户。
https://stackoverflow.com/questions/50646349
复制相似问题