QuickCheck

Copyright © Quviq AB, 2006-9.

Version: 1.162

QuickCheck is a specification-based testing tool for Erlang. Programs are tested by writing properties in the source code, such as
prop_reverse() ->
  ?FORALL(Xs,list(int()),
    lists:reverse(lists:reverse(Xs)) == Xs).
Properties are tested by calling
eqc:quickcheck(prop_reverse())

which generates 100 random test cases and checks that the property returns true in every case.

Functions for writing properties are found in module eqc, while functions for writing test data generators (such as list(int()) above) are found in module eqc_gen. Parts of the interface are provided via macros, which are defined in eqc.hrl--this file should be included in every module which uses QuickCheck. This header file also imports much of the QuickCheck API, so it can be used without explicit module names.

Software with internal state is tested using a state-machine model. eqc_statem is QuickCheck's state-machine library, providing a flexible way to test a stateful API by specifying pre- and post-conditions along with an abstract model of the state. eqc_fsm is a similar library, specialized for testing software described by a finite-state diagram such as a statechart.

eqc_emacs_mode is an installer for a QuickCheck emacs mode; use it (once) to install the new emacs mode each time you install a new version of QuickCheck.

Generated by EDoc, May 22 2009, 17:01:01.