2017-10-15 1 views
2

J'essaie de tester une méthode validate() d'une classe Service, qui accepte un objet Request. Normalement, lorsque le formulaire sur le frontend est soumis, j'obtiens cet objet Request comme paramètre dans la méthode du controller et je l'envoie au service, mais maintenant je veux tester cette méthode, j'utilise phpunit et je voudrais créer mes propres objets Request et envoyez-les à la classe Service pour voir si elle réagit comme elle le devrait. Ma méthode de test ressemble à ceci:Effectuer une requête HTTP et la remplir avec des données

public function testWhenUsernameIsNotSetGetValidationError() 
{ 

    $request = new Request(); 

    $request->request->add(['email' => '[email protected]', 'password' => 'test123', 'password_confirm' => 'test123']); 

    dd($request->all()); 

    $this->assertFalse($this->regService->validate($request)); 

} 

Le problème est que

dd($request->all()) 

imprime un tableau vide ([]).

Pourquoi cela se produit-il? Ai-je besoin d'ajouter ces données d'une manière ou d'une autre?

Répondre

3

Utilisation procédé merge():

$request->merge(['email' => '[email protected]', 'password' => 'test123', 'password_confirm' => 'test123']);