WER BIN ICH - UND WENN JA WIE VIELE ▸ Marcel Führer, 34 ▸ PHP Developer seit ca. 10 Jahren ▸ Entwickler im Business Solution Team bei move:elevator ▸ PHP, TYPO3, WordPress, (React Native) ▸ Gärtner 2 AKZEPTANZTESTS MIT CODECEPTION
AKZEPTANZTESTS MIT CODECEPTION AGENDA ▸ WAS SIND AKZEPTANZTESTS ? ▸ WARUM CODECEPTION ? ▸ CODECEPTION ▸ INSTALLATION ▸ KONFIGURATION ▸ RUN AND FAIL ▸ BEST PRACTICE ▸ ASK YOURSELF 3
AKZEPTANZTESTS MIT CODECEPTION WAS SIND AKZEPTANZTESTS ? ▸ Sind BlackBox Tests. ▸ Beschreiben das Verhalten aus Anwendersicht ▸ Deckt Abweichungen von der Spezifikation auf ▸ Können von non-technical persons erstellt werden ▸ Einfach automatisierbar z.B. mit Selenium ▸ Sie sind langsam 4
AKZEPTANZTESTS MIT CODECEPTION UNITTESTS VS. AKZEPTANZTESTS 5 70/20/10 Quelle: http://googletesting.blogspot.de/2015/04/just-say-no-to-more-end-to-end-tests.html
WARUM CODECEPTION ? ▸ Full-stack testing framework ▸ PHP basierend ▸ Unit, Functional and Acceptance Tests ▸ TDD und BDD unter einem Dach ▸ Unterstützt PHPUnit 5.x / PHP7 ▸ Unterstützt viele Frameworks und Module 6 AKZEPTANZTESTS MIT CODECEPTION
CODECEPTION VS MINK 7 AKZEPTANZTESTS MIT CODECEPTION Mink is a php 5.3 library Codeception is a php testing framework Quelle: https://php.libhunt.com/project/codeception/vs/docs
▸ Werden nicht geschrieben sondern generiert ▸ Ergibt sich aus Modulen ▸ Je Scope ein Actor ▸ Injected into Cest file ▸ AcceptanceTester use Trait AcceptanceTesterActions 10 CODECEPTION - ACTOR AKZEPTANZTESTS MIT CODECEPTION
CODECEPTION - INSTALLATION ▸ Natürlich über composer ▸ Oder die PHAR ▸ Erstellt codeception.yml und Testverzeichnis ▸ Erstellt 3 default suite ▸ Siehe http://codeception.com/quickstart 13 AKZEPTANZTESTS MIT CODECEPTION
▸ Ein Actor pro Scope ▸ Verwendet environments ▸ Verwendet PageObjects ▸ Verwendet PHPStorm ▸ $I->can statt $I->do ▸ Docker ? ▸ what else ? 17 CODECEPTION - BEST PRACTICE AKZEPTANZTESTS MIT CODECEPTION