dbt-labs/dbt-extractor

quickcheck vs proptest

nathaniel-may opened this issue · 1 comments

I ultimately decided to go with the quickcheck library when writing property based tests. I implemented both quickcheck and proptest when making this decision.

reasons to go with quickcheck

  • quickcheck is far more widely used
  • quickcheck is more actively maintained than proptest
  • library syntax for quickcheck is way more readable
  • defining an arbitrary instance is less bloated than in proptest
  • running two small tests takes a fraction of a second while proptest takes 20 to 60 seconds

reasons to go with proptest

  • easier to define different generators for the same type
  • provides library functions for doing complex tasks like generating recursive data
  • seems to have more documentation
  • if we end up doing very complex generation or shrinking this might save us some boilerplate

moving this adr as a committed doc file. PR.