test package:HUnit
The basic structure used to create an annotated tree of test cases.
Counts the number of
TestCases in a tree of
Tests.
Determines the paths for all
TestCases in a tree of
Tests.
A single, independent test case composed.
A name or description for a subtree of the Tests.
A set of Tests sharing the same level in the hierarchy.
Provides a way to convert data into a Test or set of
Test.
Performs a test run with the specified report generators.
This handles the actual running of the tests. Most developers will
want to use HUnit.Text.runTestTT instead. A developer could
use this function to execute tests via another IO system, such as a
GUI, or to output the results in a different manner (e.g., upload
XML-formatted results to a webservice).
Note that the counts in a start report do not include the test case
being started, whereas the counts in a problem report do include the
test case just finished. The principle is that the counts are sampled
only between test case executions. As a result, the number of test
case successes always equals the difference of test cases tried and
the sum of test case errors and failures.
Performs a single test case.
Provides the "standard" text-based test controller. Reporting is made
to standard error, and progress reports are included. For possible
programmatic use, the final counts are returned.
The "TT" in the name suggests "Text-based reporting to the Terminal".
Convenience wrapper for
runTestTT. Simply runs
runTestTT
and then exits back to the OS, using
exitSuccess if there were
no errors or failures, or
exitFailure if there were. For
example:
tests :: Test
tests = ...
main :: IO ()
main = runTestTTAndExit tests
Executes a test, processing each report line according to the given
reporting scheme. The reporting scheme's state is threaded through
calls to the reporting scheme's function and finally returned, along
with final count values.