1
我想测试我在Symfony 3.3.2中创建的应用程序。
我使用FOSUserBundle作为我的用户系统。在Symfony 3.3中用假用户进行功能测试
我在安装程序中创建一个新的客户端
public function setUp() {
$this->client = static::createClient();
}
我写了一个简单的功能,应该由FOS服务创建虚假用户
private function logInAdmin() {
$fosLoginManager = $this->client->getContainer()->get('fos_user.security.login_manager');
$user = new User();
$user->setEnabled(true);
$user->addRole('ROLE_ADMIN');
$fosLoginManager->logInUser('main', $user);
}
其实这种情况正在发生,但只有当我手动测试此代码在控制器中。在这种情况下,我以用户的身份登录,我刚刚在代码中创建。我有我的角色等。但是,当PHPUnit运行此代码时,用户变成null
。
为什么会发生这种情况?如何正确地做到这一点?
我做了,但它不适合我。这就是为什么我问 – Night
我刚刚编辑我的答案,希望这会帮助你 – jeremy
它现在的作品,谢谢!我现在头脑中混乱很多。我确信我尝试了完全相同的代码,但它不工作,所以我开始尝试使用FOS; - ; – Night