Ho una classe che richiede il servizio Symfony2
@request_stack
che restituisce un'istanza di Symfony\Component\HttpFoundation\RequestStack
. Lo uso per recuperare i valori POST e GET.Mocking richiesta e sessione di Symfony2 in PHPUnit
E anche la mia classe utilizza Symfony\Component\HttpFoundation\Session
da Request->getSession()
che chiama per ottenere la sessione corrente.
In questo momento la mia classe ha un metodo che sembra qualcosa di simile:
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);
}
}
ho bisogno di essere in grado di:
- Mock
RequestStack
. - Get
Request
daRequestStack
- Get
Session
daReques
t;
Con tutto ciò che è stato detto, come posso verificare che MyClass
abbia impostato correttamente il valore previsto nella sessione?
Ho scritto la mia risposta, se vuoi controllare, ma ho accettato la tua risposta perché sono d'accordo con te per la maggior parte. – Tek