Skip to content

v0.6.13 : deterministic Scalacheck properties

Compare
Choose a tag to compare
@Baccata Baccata released this 29 Jun 08:45
· 35 commits to master since this release
eb7a469

Highlights :

Changed the Scalacheck integration to increase determinism : previously, forall properties would be executed in parallel in a way that wouldn't conserve order, which lead runs originating from the same seed to exhibit different results. Now, the properties are still executed in parallel, but the processing of their outcomes respects the initial ordering.

This implies that, provided the properties do not depend on state of the outside world that might be subject to change (like, reading from a database record that could change for an external reason), the likelihood of having reproducible results is drastically increased. In particular, it means you can have fully deterministic unit tests, which wasn't the case before.

There is a little cost in terms of efficiency that should not be noticeable in most cases.

Kudos to @ollyw for the improvement !

What's Changed

Full Changelog: v0.6.12...v0.6.13