Je veux tester mon application créée dans Symfony 3.3.2.
J'utilise FOSUserBundle comme système de mon utilisateur.Test fonctionnel dans Symfony 3.3 avec faux utilisateur
créer un nouveau client dans setUp
public function setUp() {
$this->client = static::createClient();
}
j'ai écrit une fonction simple qui devrait créer l'utilisateur faux par le service 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);
}
En fait, ce qui se passe mais seulement quand je tester ce code manuellement dans le contrôleur. Dans ce cas, je suis connecté en tant qu'utilisateur dont je viens de créer dans le code. J'ai mes rôles etc. Mais quand PHPUnit exécute ce code, l'utilisateur devient null
.
Pourquoi cela se produit-il? Comment le faire correctement?
Je l'ai fait, mais ça ne marche pas pour moi. C'est pourquoi je demande – Night
Je viens d'éditer ma réponse, j'espère que cela va vous aider – jeremy
Cela fonctionne maintenant, merci !. J'ai tellement de confusion dans la tête en ce moment. Je suis sûr que j'ai essayé exactement le même code et cela n'a pas fonctionné ainsi j'ai commencé à expérimenter avec FOS; – Night