首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Symfony :在功能测试中验证用户

Symfony :在功能测试中验证用户
EN

Stack Overflow用户
提问于 2018-06-01 23:05:38
回答 1查看 53关注 0票数 0

我正在尝试在功能测试中验证用户,以检查他是否被重定向。

我的控制器:

代码语言:javascript
复制
public function preRegisterAction()
{
    if ($this->getUser() instanceof User) {
        return new RedirectResponse();
    }

    return $this->render(
        'pages/pre-register.html.twig'
    );
}

我的测试:

代码语言:javascript
复制
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时,我看不到我在测试中注入的用户。

EN

回答 1

Stack Overflow用户

发布于 2018-06-02 00:24:43

我不知道为什么你的代码在测试中不能工作。我对安全组件的了解不深,但有两种推荐的方法来验证用户。

  1. Using a Faster Authentication Mechanism Only for Tests
  2. Creating the Authentication Token
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50646349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档