What are the major differences between QuickCheck 1 and QuickCheck 2? From looking at Haddock docs I can see that it is split across more modules, coarbitrary has been replaced by the new Fun type and FunArbitrary class (which seems easier to understand to me), and testing monadic code is now supported. What else should I be aware of?
What are the major differences between QuickCheck 1 and QuickCheck 2? From looking at
Share
I’ve seen one major advancement in QuickCheck 2, I think as important as monadic code testing, if not more :
This, is really awesome. The shrink method is optional, but if you can provide a list of “possibly empty” reduction of your type, then when QuickCheck find a faulty check, it will try to reduce your faulty data to the minimum by trying to shrink it and then re-test it. It shrink it as long as it fails.
A little sample to convince you, Without shrinking :
With :
Shorter fail example mean quicker debug 🙂