I had unit tests for the DTO validation to ensure the configuration was correct, but the main thing I wanted to test was I could run it for a given configuration file and get the expected files and contents to be generated.
With snapshot tests, I generate the files for each configuration and compare them to a set that I know to be correct.
If the files match, the tests pass, but, if they don't - such as a bug in the code, the tests will fail.
This is the level that I want to be testing this project and that provides the most value.
If a snapshot test fails, I can try to replicate the underlying issue in a unit test whilst also fixing the snapshot test.
- Oliver
Was this interesting?
About me
I'm an Acquia-certified Drupal Triple Expert with 17 years of experience, an open-source software maintainer and Drupal core contributor, public speaker, live streamer, and host of the Beyond Blocks podcast.