Mam klasę wymagającą usługi Symfony2
@request_stack
, która zwraca instancję z Symfony\Component\HttpFoundation\RequestStack
. Używam go do pobierania wartości POST i GET.Kpiny z prośby i sesji Symfony2 w PHPUnit
A także moja klasa używa Symfony\Component\HttpFoundation\Session
z Request->getSession()
, którą wywołuje, aby uzyskać bieżącą sesję.
Teraz moja klasa ma metodę, która wygląda mniej więcej tak:
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);
}
}
muszę być w stanie:
- Mock
RequestStack
. - Get
Request
odRequestStack
- Get
Session
zReques
t;
Z tym wszystkim powiedziane, jak mogę przetestować, czy MyClass
pomyślnie ustawić oczekiwaną wartość w sesji?
Napisałem własną odpowiedź, jeśli chcesz to sprawdzić, ale zaakceptowałem twoją odpowiedź, ponieważ zgadzam się z tobą w przeważającej części. – Tek