diff --git a/BDD_CORRIGE.md b/BDD_CORRIGE.md index 731d640a4cb89169480d0b062dbc6ddae7eca92e..f1a90dad72e8ce7afff127470fb68cce31e80876 100644 --- a/BDD_CORRIGE.md +++ b/BDD_CORRIGE.md @@ -95,6 +95,56 @@ class PremierCest } ``` +Maintenant on peut tester notre application, une fois que l'on a démarré le serveur dans un *terminal* : `php -S localhost:8000` + +Teste de l'application avec le module `PhpBrowser` : + +```bash +vendor/bin/codecept run Acceptance +Codeception PHP Testing Framework v5.0.9 https://helpukrainewin.org + +Tests.Acceptance Tests (4) ------------------------------------------------------------------------------------------------------------------------------- +✔ PremierCest: Frontpage works(0.07s) +✔ PremierCest: Fr_frontpage works(0.02s) +✔ PremierCest: Fr_javascript_is_not_setup(0.02s) +E PremierCest: Preview_a_text_message_works(0.03s) +---------------------------------------------------------------------------------------------------------------------------------------------------------- +Time: 00:00.205, Memory: 12.00 MB +``` + +Les quatre tests sont passés, mais le dernier `Preview_a_text_message_works`, mais le dernier a échoué `E` avec une erreur, voici le détail : + +```bash +There was 1 error: +1) PremierCest: Preview_a_text_message_works + Test tests/Acceptance/PremierCest.php:preview_a_text_message_works + + [InvalidArgumentException] Unreachable field "message". + + +Scenario Steps: + + 2. $I->fillField("#message","Ceci n'est pas une pipe.") at tests/Acceptance/PremierCest.php:36 + 1. $I->amOnPage("/") at tests/Acceptance/PremierCest.php:35 + +#1 /private/tmp/pastebin/vendor/symfony/dom-crawler/FormFieldRegistry.php:79 +#2 /private/tmp/pastebin/vendor/symfony/dom-crawler/Form.php:305 +#3 Codeception\Lib\InnerBrowser->fillField +#4 /private/tmp/pastebin/tests/Support/_generated/AcceptanceTesterActions.php:2308 +#5 /private/tmp/pastebin/tests/Acceptance/PremierCest.php:36 +#6 Tests\Acceptance\PremierCest->preview_a_text_message_works +#7 /private/tmp/pastebin/vendor/bin/codecept:120 +Artifacts: + +Html: /private/tmp/pastebin/tests/_output/Tests.Acceptance.PremierCest.preview_a_text_message_works.fail.html +Response: /private/tmp/pastebin/tests/_output/Tests.Acceptance.PremierCest.preview_a_text_message_works.fail.html + +ERRORS! +Tests: 4, Assertions: 4, Errors: 1. +``` + +Le champ de saisie `#messsage` n'a pas été trouvé. Si on regarde dans le fichier de trace : `tests/_output/Tests.Acceptance.PremierCest.preview_a_text_message_works.fail.html` +On constate que la page n'a pas été complètement chargée, car *JavaScript* n'était pas activé. ## Tester une application avec JS côté client