quickCheck is:package
Automatic testing of Haskell programs
QuickCheck is a library for random testing of program properties. The
programmer provides a specification of the program, in the form of
properties which functions should satisfy, and QuickCheck then tests
that the properties hold in a large number of randomly generated
cases. Specifications are expressed in Haskell, using combinators
provided by QuickCheck. QuickCheck provides combinators to define
properties, observe the distribution of test data, and define test
data generators.
Most of QuickCheck's functionality is exported by the main
Test.QuickCheck module. The main exception is the monadic
property testing library in
Test.QuickCheck.Monadic.
If you are new to QuickCheck, you can try looking at the following
resources:
The
quickcheck-instances companion package provides instances
for types in Haskell Platform packages at the cost of additional
dependencies.
Common quickcheck instances
QuickCheck instances.
The goal is to supply QuickCheck instances for types provided by the
Haskell Platform.
Since all of these instances are provided as orphans, I recommend that
you do not use this library within another library module, so that you
don't impose these instances on down-stream consumers of your code.
QuickCheck common typeclasses
This library provides QuickCheck properties to ensure that typeclass
instances adhere to the set of laws that they are supposed to. There
are other libraries that do similar things, such as
`genvalidity-hspec` and
checkers. This library differs from
other solutions by not introducing any new typeclasses that the user
needs to learn.
Note: on GHC < 8.5, this library uses the higher-kinded
typeclasses (
Data.Functor.Classes.Show1,
Data.Functor.Classes.Eq1,
Data.Functor.Classes.Ord1,
etc.), but on GHC >= 8.5, it uses `-XQuantifiedConstraints` to
express these constraints more cleanly.
Alternative arbitrary instance for Text
The usual Arbitrary instance for Text (in
quickcheck-instances)
only has single-byte instances and so isn't an ideal representation of
a valid UTF-8 character. This package has generators for one-, two-
and three-byte UTF-8 characters (all that are currently in use).
QuickCheck common typeclasses from `base`
This libary is a minimal variant of `quickcheck-classes` that only
provides laws for typeclasses from
base. The main purpose of
splitting this out is so that
primitive can depend on
`quickcheck-classes-base` in its test suite, avoiding the circular
dependency that arises if `quickcheck-classes` is used instead.
This library provides QuickCheck properties to ensure that typeclass
instances adhere to the set of laws that they are supposed to. There
are other libraries that do similar things, such as
`genvalidity-hspec` and
checkers. This library differs from
other solutions by not introducing any new typeclasses that the user
needs to learn.
Note: on GHC < 8.5, this library uses the higher-kinded
typeclasses (
Data.Functor.Classes.Show1,
Data.Functor.Classes.Eq1,
Data.Functor.Classes.Ord1,
etc.), but on GHC >= 8.5, it uses `-XQuantifiedConstraints` to
express these constraints more cleanly.
HUnit like assertions for QuickCheck
Library with convenient assertions for QuickCheck properties like in
HUnit
Generator and shrink functions for testing
Unicode-related software.
Generator and shrink functions for testing Unicode-related software.
Test properties and default-mains for QuickCheck
This package contains definitions of test properties and default-mains
using QuickCheck library.
Use HUnit assertions as QuickCheck properties
This package provides an orphan instance that allows you to use HUnit
assertions as QuickCheck properties.
Generic typeclasses for generating arbitrary ADTs
Improve arbitrary value generation for ADTs
Not on Stackage, so not searched.
QuickCheck properties for standard type classes. QuickCheck properties for standard type classes
Not on Stackage, so not searched.
arbitrary instances for small enum types
QuickCheck extension for higher-order properties
Enhancements for property-based testing of higher-order properties.
- Associate types to their representations with the
Constructible class.
- Testable' class, variant of Testable with an
improved instance for (->).
- Representation of higher-order functions (via test-fun).
- Testable equality TestEq.
- Explicit testable type of Equation.
See also README.
Not on Stackage, so not searched.
Generate QuickCheck Gen for Sum Types
Testing group class instances with QuickCheck
QuickCheck support for testing instances of type classes defined in
the groups library.
Testing monoid subclass instances with QuickCheck
QuickCheck support for testing instances of type classes defined in
the monoid-subclasses library.
Not on Stackage, so not searched.
Combinators for Quickcheck Property construction and diagnostics
Not on Stackage, so not searched.
Customizable reports for quickcheck properties
Not on Stackage, so not searched.
Test monadic programs using state machine based models
Not on Stackage, so not searched.
Helper to build generators with Text.StringRandom
A GenT monad transformer for QuickCheck library.
A fork of QuickCheck-GenT that works for older GHC versions and uses
the Test module folder like QuickCheck.
Not on Stackage, so not searched.
Library for lockstep-style testing with 'quickcheck-dynamic'