Mocking Symfony2 Anfrage-und session-in PHPUnit

Habe ich eine Klasse, die erfordert, dass die Symfony2 service @request_stack gibt eine Instanz von Symfony\Component\HttpFoundation\RequestStack. Ich nutze es zum abrufen von POST und GET Werte.

Und auch meine Klasse nutzt Symfony\Component\HttpFoundation\Session aus Request->getSession() die es aufruft, um die aktuelle Sitzung.

Recht jetzt meiner Klasse hat eine Methode, die wie folgt aussieht:

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);
    }
}

Ich muss in der Lage sein:

  1. Mock RequestStack.
  2. Bekommen Request aus RequestStack
  3. Bekommen Session aus Request;

Mit allem, was gesagt, wie kann ich testen, dass MyClass erfolgreich der erwartete Wert in der session?

InformationsquelleAutor Tek | 2014-05-23
Schreibe einen Kommentar