Question

In various more functional based languages there are tools (like Quickcheck) which allow for property based testing.

How would I go about property based testingin PHP?

I would like to be able to specify the in and output properties of a PHP method, and run coverage tests.

No correct solution

OTHER TIPS

There are currently two libraries that offer property based testing functionality in PHP:

  • Eris which is a PHP port based on Haskell's QuickCheck
  • PhpQuickCheck which is a PHP port based on clojure.test.check.

Eris has been build to work well with the PHPUnit ecosystem out-of-the-box.

PhpQuickCheck has been built to work standalone but can also be used in combination with PhpUnit and it's @dataprovider functionality. There is an example of this in the repository.

You can have a go with the Faker library: https://github.com/fzaninotto/Faker. It won't do the testing for you, but it's great for generating the random data.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top