Hacker News new | ask | show | jobs
by thsealienbstrds 2419 days ago
I agree with your observation, except for the part where he not bashing on QuickCheck (he is, but you have to click the first link in the article in order to find it).

> One of the big differences between Hypothesis and Haskell QuickCheck is how shrinking is handled.

> Specifically, the way shrinking is handled in Haskell QuickCheck is bad and the way it works in Hypothesis (and also in test.check and EQC) is good. If you’re implementing a property based testing system, you should use the good way. If you’re using a property based testing system and it doesn’t use the good way, you need to know about this failure mode.

> The big difference is whether shrinking is integrated into generation.

> Integrating shrinking into generation has two large benefits...

> The first is mostly important from a convenience point of view...

> But the second is <i>really</i> important, because the lack of it makes your test failures potentially extremely confusing.