<p>Hi Arian,</p>
<p>When in doubt and with a bit of time to spare, you can always use both :-)</p>
<p>But here is some quick list of pros and cons:</p>
<ul>
<li><p>LeanCheck/enumerative guarantees the smallest/simplest counterexample if
one is found. This without the need of shrinking.</p></li>
<li><p>LeanCheck/enumerative allows for existential properties.</p></li>
<li><p>LeanCheck/enumerative guarantees that tests aren’t repeated most of the
time.</p></li>
<li><p>QuickCheck/random always hits different test cases, so in the long run
you may get more test coverage. With LeanCheck you only get more
coverage when you configure more tests.</p></li>
<li><p>LeanCheck/enumerative is more memory intensive when compared to
QuickCheck/random. With LeanCheck you may run out of memory when you’re
running tens of millions of tests.</p></li>
</ul>
<p>You can find more details here:</p>
<p>https://github.com/rudymatela/leancheck/blob/master/doc/faq.md#what-are-the-differences-between-quickcheck-and-leancheck</p>
<p>On Thu, Jan 17, 2019 at 10:57:17AM +0100, Arian van Putten wrote:</p>
<blockquote><p>Awesome. I always wondered what the pros/cons are compared to random
testing like Quick check. When should I reach to enumerative testing?</p></blockquote>