Property-based Testing using Kotest
Instead of writing example-based tests, with property testing, hundreds or thousands of values are fed into the same test, and the values are (usually) randomly generated by your property test framework
Snapshot Testing using origin-energy/java-snapshot-testing
Advantages of Snapshot Testing
- Great for testing JSON interfaces ensuring you don't break clients
- Fast and easy to test
- Will implicitly test areas of your code you did not think about
- Great of testing dynamic objects
Disadvantages of Snapshot Testing
- You need to ensure your test is deterministic for all fields
- Does not give great insight to why the snapshot failed
- Can be difficult to troll though large snapshot changes where you might only be interested in a small set of fields