Se moquant de Symfony2 de la demande et de la session de PHPUnit

J'ai une classe qui nécessite la Symfony2 service @request_stack qui retourne une instance de Symfony\Component\HttpFoundation\RequestStack. - Je l'utiliser pour récupérer de POSTE et d'OBTENIR des valeurs.

Et aussi ma classe utilise Symfony\Component\HttpFoundation\Session de Request->getSession() lequel il lance un appel pour obtenir de la session en cours.

Droit maintenant, ma classe a une méthode qui ressemble à quelque chose comme ceci:

class MyClass {
    public function doSomething() {
        //Get request from request stack.
        $Request = $this->RequestStack->getCurrentRequest();

        //Get a variable from request
        $var = $Request->request->get('something');
        //Processes $var into $someprocessedvar and lets say it's equal to 3.
        //Set value to session.
        $this->Request->getSession()->set('somevar', $someprocessedvar);
    }
}

J'ai besoin d'être en mesure de:

  1. Se moquer de RequestStack.
  2. Obtenir Request de RequestStack
  3. Obtenir Session de Request;

Avec tout ce que dit comment puis-je tester que MyClass réussi à mettre la valeur attendue dans la session?

OriginalL'auteur Tek | 2014-05-23