Salut,
je fait appel à votre expérience car j'ai découvert quelque chose de magique au niveau des tests unitaires.
J'aimerai que quelqu'un me remette les pied sur terre car là c'est pas mal...
J'essaye de testé mon ajout d'entité dans la base de donnée qu'il me confirme bien qu'elle soit enregistré :
pour information j'ai un système de pagination qui s'active à partir de 11 entrée que je test par la même occasion car j'ai 10 entrées dans mon datafixture plus celle là je doit passer à la page suivante pour vérifier qu'elle soit bien persisté :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 //Routing $crawler = $this->client->followRedirects(); $crawler = $this->client->request('POST', '/s/admin/gestionMonEntite'); //Authentification $form = $crawler->selectButton('Connection')->form(); $form['_username'] = 'username'; $form['_password'] = 'password'; $crawler = $this->client->submit($form); //Bouton pour accéder au formulaire de création de l'entité $form = $crawler->selectButton('ajouterButton')->form(); $crawler = $this->client->submit($form); //Remplir formulaire + envoi $form = $crawler->selectButton('Sauver')->form(); $form['entite[CHAMP1]'] = 'test'; $form['entite[CHAMP2]'] = 'tes'; $form['entite[CHAMP3]'] = 'te'; $form['entite[CHAMP4]'] = 't'; $form['entite[CHAMP5]'] = '0'; $form['entite[CHAMP6]'] = '1'; $crawler = $this->client->submit($form);
Et c'est là que la magie commence quand je lance mon test alors un coup il va me dire test OK, un autre coup je le relance je re-tombe sur le formulaire d'authentification donc j'ai un fail et un autre coup il va me dire empty...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 //Je clique sur le lien suivant $link = $crawler->selectLink('Suivante')->link(); $crawler = $this->client->click($link); $this->assertTrue($crawler->filter('html:contains("test")')->count() > 0); $this->assertTrue($crawler->filter('html:contains("tes")')->count() > 0); $this->assertTrue($crawler->filter('html:contains("te")')->count() > 0); $this->assertTrue($crawler->filter('html:contains("t")')->count() > 0); $this->assertTrue($crawler->filter('html:contains("0")')->count() > 0); $this->assertTrue($crawler->filter('html:contains("1")')->count() > 0);
Sans que je bouge quoi que ce soit dans mon code
Le faite qu'il y est le formulaire j'ai pensé à un problème de cookies alors j'ai fait une deuxieme authentification ça a marché puis quelques rajout de test plus tard sans avoir bougé cette partie du code j'avais une erreur sur le premier assert...
Je suis revenu sur le code qui marchai et là ça marche plus des fois j'ai des erreurs des fois des fails c'est n'import quoi !
Partager