2013-04-26 2 views
1

J'ai conçu une application Web symfony qui fournit des services Web reposants. Je voudrais écrire une batterie de tests fonctionnels qui testeraient ces services web qui retournent des données JSON. Je ne suis cependant pas sûr sur la façon de tester les services Web qui nécessitent certaines données de test à leur être posté. Comment puis-je publier des données sur une URL de service Web dans mon application symfony afin de pouvoir affirmer contre une réponse? Par la façon dont je l'aime Symfony comme cadreComment tester fonctionnellement les services Web nécessitant des données POST dans symfony2?

Voici donc quelques exemples de code qui teste une réponse GET:

public function testIndex() 
    { 
     $client = static::createClient(); 

     $crawler = $client->request('GET', '/demo/hello/Fabien'); 

     $this->assertGreaterThan(
      0, 
      $crawler->filter('html:contains("Hello Fabien")')->count() 
     ); 
    } 

si/demo/bonjour/Fabien ci-dessus nécessite des données de poste?

merci beaucoup pour un aperçu

+0

Soit votre question ne sait pas, ou je ne peux pas comprendre pourquoi n'utilisez-vous pas $ client-> request ('POST', '/ demo/hello/Fabien'); –

Répondre

1

Le contenu est le 6ème paramètre dans la fonction de la demande, de sorte que vous voulez faire quelque chose comme ceci:

$data = json_encode(array('name' => 'Fabian')); 

$crawler = $client->request(
    'POST', 
    '/demo/hello', 
    array(), 
    array(), 
    array(), 
    $data 
); 
+0

doux merci monsieur – jini

Questions connexes