3 ms·
Every single time I've introduced property based testing, even as a simple example, I've discovered a bug in either the code or the spec. I've found a bug in a
by IanCal 4y ago
Every single time I've introduced property based testing, even as a simple example, I've discovered a bug in either the code or the spec.
I've found a bug in a Haskell program about fib generation - your test would work (if fixed for the subtractions) but incorrectly as there was an overflow in the addition. A basic property of "fib(n+1) > fib(n)" for n>1 finds this.
I like this type of testing as it asks you to more generally consider what guarantees your code is making about its operation.
Edit - your example is a good one and necessary, I just wanted to add a bit extra as I really like property based testing