This repository has been archived on 2025-08-18. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
GGS/lib/eqc/doc/overview.edoc
2011-05-05 02:46:21 +02:00

39 lines
1.5 KiB
Text

@title QuickCheck Mini
@version {@version}
@copyright Quviq AB, 2006-2010.
@doc
QuickCheck is a specification-based testing tool for Erlang. QuickCheck Mini is
a powerful, but restricted version of QuickCheck. It is released free of charge for
anyone interested in learning more about QuickCheck as well as for open source
developers that want to ship their code with simple QuickCheck properties.
In order to learn more about QuickCheck, please visit http://www.quviq.com/.
There is also a mailing list discussing QuickCheck issues, which you can subscribe to by sending an email to quickcheck-questions@quviq.com with subject "Subscribe".
<h2>QuickCheck</h2>
Programs
are tested by writing <i>properties</i> in the source code, such as
<pre>
prop_reverse() ->
?FORALL(Xs,list(int()),
lists:reverse(lists:reverse(Xs)) == Xs).
</pre>
Properties are tested by calling
<pre>
eqc:quickcheck(prop_reverse())
</pre>
which generates 100 random test cases and checks that the property
returns <tt>true</tt> in every case.
<p>
Functions for writing properties are found in module {@link eqc},
while functions for writing test data generators (such as
<tt>list(int())</tt> above) are found in module {@link eqc_gen}. Parts
of the interface are provided via macros, which are defined in
<tt>eqc.hrl</tt>--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.
</p>