2014-05-04 3 views
0

J'utilise fosuserbundle pour auth.Base de données en mémoire - remigration. Impossible de se connecter

Base de données lors des essais est configuré pour être en mémoire:

#config_test.yml 
    doctrine: 
    dbal: 
     driver: pdo_sqlite 
     path: :memory: 
     memory: true 
    orm: 
     auto_generate_proxy_classes: true 
     auto_mapping: true 

fichier de test ressemble à ça (juste aire de jeux jusqu'à ce que je résous que):

Pasted

Et quand je lance des tests Je reçois 302 rediriger vers la connexion, ce qui ne devrait pas arriver. Qu'est-ce qui ne va pas avec ça?

Lorsque je change de config pour utiliser la connexion de développement mysql - cela fonctionne bien - la réponse est sans redirection et le corps est correct.

Répondre

0

Ok, j'ai réussi à savoir pourquoi cela se passe.

J'ai creusé dans la classe Client et sa méthode doRequest.

protected function doRequest($request) 
    { 
     // avoid shutting down the Kernel if no request has been performed yet 
     // WebTestCase::createClient() boots the Kernel but do not handle a request 
     if ($this->hasPerformedRequest) { 
      $this->kernel->shutdown(); 
     } else { 
      $this->hasPerformedRequest = true; 
     } 

     if ($this->profiler) { 
      $this->profiler = false; 

      $this->kernel->boot(); 
      $this->kernel->getContainer()->get('profiler')->enable(); 
     } 

     return parent::doRequest($request); 
    } 

Ainsi, le noyau ferme toutes les requêtes et la base de données est supprimée de la mémoire. C'est ma supposition à 99%.

Je ne peux rien faire pour cela sauf utiliser une autre bibliothèque client

Questions connexes