Snapshot testing (nomadphp)

Snapshot testing (nomadphp)

A1b4b398630bbd32b77a82cbc37fae9a?s=128

Freek Van der Herten

July 20, 2017
Tweet

Transcript

  1. A practical intro to snapshot testing

  2. About me Freek Van der Herten Partner & developer at

    SPATIE @freekmurze https://murze.be
  3. About me phpantwerp.be Dries Vints @driesvints Frederick Vanbrabant @TheEdonian

  4. Since 2003 Websites, applications and webshops Team 4 developers, 1

    manager Specialization Laravel development
  5. OPEN SOURCE SOFTWARE

  6. ± 120 packages on Packagist Laravel, Framework agnostic PHP ±

    4 000 000 downloads in total, growing ±500 000 a month We create a lot of it Open source software
  7. http://github-awards.com/users?type=world&language=php Open source software

  8. LET’S TALK SNAPSHOT TESTING

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

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

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

    PHP?
  12. DEMO

  13. WRAPPING UP

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

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

    can be easily written in the snapshots
  16. 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

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

  18. QUESTIONS?