hspec-leancheck

LeanCheck support for the Hspec test framework. This package can be used to incorporate LeanCheck tests into Hspec test suites. Please see the Haddock documentation and README for more details.


Keywords
library, testing, Propose Tags , Test.Hspec.LeanCheck, LeanCheck, Hspec, hspec-leancheck's Haddock documentation, LeanCheck's Haddock documentation, Hspec's Haddock documentation, LeanCheck's README, Hspec's README, Tutorial on property-based testing with LeanCheck, haskell, testing-tools, testing-framework
License
BSD-3-Clause
Install
cabal install hspec-leancheck-0.0.6

Documentation

hspec-leancheck: LeanCheck support for Hspec

hspec-leancheck's Build Status hspec-leancheck on Hackage hspec-leancheck on Stackage LTS hspec-leancheck on Stackage Nightly

LeanCheck support for the Hspec test framework.

Installing

$ cabal install hspec-leancheck

Example

Here's how your spec.hs might look like:

import Test.Hspec
import Test.Hspec.LeanCheck as LC

import Data.List (sort)

main :: IO ()
main = hspec spec

spec :: Spec
spec = do
  describe "sort" $ do
    it "is idempotent" $
      LC.property $ \xs -> sort (sort xs :: [Int]) == sort xs
    it "is identity" $ -- not really
      LC.property $ \xs -> sort (xs :: [Int]) == xs

And here is the output for the above program:

$ ./eg/minimal

sort
  is idempotent
  is identity FAILED [1]

Failures:

  eg/minimal.hs:17:5: 
  1) sort is identity
       [1,0]

  To rerun use: --match "/sort/is identity/"

Randomized with seed 44182769

Finished in 0.0008 seconds
2 examples, 1 failure

Options

Use propertyWith to configure the number of tests.

Further reading