Tester son site web avec ๐๐š๐ง๐ญ๐ก๐ž๐ซ

๐Ÿ‘‰ Tout.e dรฉveloppeur/dรฉveloppeuse ๐๐ก๐ฉ/๐’๐ฒ๐ฆ๐Ÿ๐จ๐ง๐ฒ a entendu parler et a pratiquรฉ des tests unitaires avec ๐๐ก๐ฉ๐”๐ง๐ข๐ญ. Cโ€™est devenu au fil du temps une brique essentielle du dรฉveloppement Web et des CI/CD.

๐Ÿ‘‰ Tests unitaires, tests dโ€™intรฉgration, tests fonctionnels (ou tests End To End). Je ne vais pas revenir sur les dรฉfinitions je vous renvoie ร  un article de Thibaud Duthoit qui รฉclaire sur le rรดle des uns et des autres (je vois encore des dรฉbats et confusion chez pas mal de dev).

๐Ÿ‘‰ Je vais parler ici dโ€™un outil moins connu et pourtant trรจs utile pour les tests fonctionnels : ๐๐š๐ง๐ญ๐ก๐ž๐ซ, รงa vous parle?

Lorsque que vous utilisez les ๐–๐ž๐›๐“๐ž๐ฌ๐ญ๐‚๐š๐ฌ๐ž de ๐’๐ฒ๐ฆ๐Ÿ๐จ๐ง๐ฒ, vous pouvez accรฉder ร  des urls, simuler le remplissage de formulaires, cliquer sur des liens du site que vous testez. Cโ€™est trรจs utile et รงa marche souvent...sauf que รงa nโ€™utilise pas un vrai navigateur : on teste les objets Request et Response de Symfony, pour faire simple, ce qui est dรฉjร  bien. Le problรจme, avec les WebTestCase, est que la plupart des sites actuels mรฉlangent allรจgrement ๐๐‡๐ et Framework ๐‰๐š๐ฏ๐š๐ฌ๐œ๐ซ๐ข๐ฉ๐ญ pour construire les pages. Du coup, nos WebTestCase nโ€™accรฉdant pas aux pages transformรฉes par le javascript, elles ne peuvent pas les tester dans ce cas de figure.

๐€๐ฏ๐ž๐œ ๐๐š๐ง๐ญ๐ก๐ž๐ซ, ๐จ๐ง ๐ซ๐žฬ๐š๐ฅ๐ข๐ฌ๐ž ๐ฅ๐ž ๐ฆ๐žฬ‚๐ฆ๐ž ๐ฌ๐œ๐žฬ๐ง๐š๐ซ๐ข๐จ ๐ช๐ฎ๐ž ๐ฅ๐ž ๐ง๐š๐ฏ๐ข๐ ๐š๐ญ๐ž๐ฎ๐ซ (๐…๐ข๐ซ๐ž๐Ÿ๐จ๐ฑ ou ๐‚๐ก๐ซ๐จ๐ฆ๐ž). Et vous savez quoi? ๐˜ข๐˜ฃ๐˜ด๐˜ต๐˜ณ๐˜ข๐˜ค๐˜ต ๐˜ค๐˜ญ๐˜ข๐˜ด๐˜ด ๐˜—๐˜ข๐˜ฏ๐˜ต๐˜ฉ๐˜ฆ๐˜ณ๐˜›๐˜ฆ๐˜ด๐˜ต๐˜Š๐˜ข๐˜ด๐˜ฆ ๐˜ฆ๐˜น๐˜ต๐˜ฆ๐˜ฏ๐˜ฅ๐˜ด ๐˜ž๐˜ฆ๐˜ฃ๐˜›๐˜ฆ๐˜ด๐˜ต๐˜Š๐˜ข๐˜ด๐˜ฆ Donc tout le travail effectuรฉ avec PhpUnit nโ€™est pas perdu, loin de la.

Pour aller au plus proche de la source, vous pouvez lire cet article : Introducing Symfony Panther

Besoin dโ€™une solution clรฉ en main ou dโ€™un accompagnement technique ? Me contacter