Unit testing asserts can be difficult to use. Approval tests simplify this by taking a snapshot of the results, and confirming that they have not changed.
Interesting approach to testing using Combination Approvals:
@Test
public void upateQuality() throws Exception {
CombinationApprovals.verifyAllCombinations(
this::doUpdateQuality,
new String []{"foo", "bar", "baz"},
new Integer []{-1, 0, 11},
new Integer[0, 1, 49, 50});
}
private String doUpdateQuality(String name, int sellIn, int quality) { /*...*/ }
Approval Tests has a variety of implementations on a wide range of platforms. You can browse all of the projects at our GitHub Org
⚠️ some of these are in various stages of 🚧