snapshot testing (laraconus)

snapshot testing (laraconus)

A1b4b398630bbd32b77a82cbc37fae9a?s=128

Freek Van der Herten

July 25, 2017
Tweet

Transcript

  1. A practical intro to snapshot testing

  2. Pronouncing Dutch Michael
 3/10 Jacob
 1/10

  3. Pronouncing Dutch Michael
 9/10 Jacob
 9/10

  4. Drake

  5. Frake

  6. Pronouncing Dutch: Spatie Spa Sea

  7. LET’S TALK SNAPSHOT TESTING

  8. A file on disk, let’s call in snapshot Test succeeds

    if output matches snapshot If not, test will fail What?
  9. Old name: characterization testing Popularized by Facebook Jest Testing interfaces

    Where does it come from?
  10. https://github.com/spatie/phpunit-snapshot-assertions assertMatchesSnapshot assertMatchesJsonSnapshot assertMatchesXmlSnapshot How can we do it in

    PHP?
  11. DEMO

  12. WRAPPING UP

  13. Advantages Very easy to get started with Can be used

    to validate complex output Easily update all the tests in one go
  14. Disadvantages Brittle Hard to pinpoint exact point of failure Bugs

    can be easily written in the snapshots
  15. https://github.com/spatie/phpunit-snapshot-assertions https://sebastiandedeyne.com/posts/2017/a-package-for-snapshot- testing-in-phpunit https://murze.be/2017/04/practical-introduction-snapshot-testing/ https://www.sitepoint.com/snapshot-testing-viable-php/ https://facebook.github.io/jest/docs/snapshot-testing.html Interesting links

  16. Thank you! https://speakerdeck.com/freekmurze/snapshot-testing-laraconus https://spatie.be/opensource https://murze.be https://murze.be/newsletter/

  17. QUESTIONS?