| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Test.Tasty.Providers
Description
API for test providers
Synopsis
- class Typeable t => IsTest t where
- run :: OptionSet -> t -> (Progress -> IO ()) -> IO Result
- testOptions :: Tagged t [OptionDescription]
- testPassed :: String -> Result
- testFailed :: String -> Result
- data Result
- data Progress = Progress {}
- type TestName = String
- data TestTree
- singleTest :: IsTest t => TestName -> t -> TestTree
Documentation
class Typeable t => IsTest t where Source #
The interface to be implemented by a test provider.
The type t is the concrete representation of the test which is used by
the provider.
Methods
Arguments
| :: OptionSet | options |
| -> t | the test to run |
| -> (Progress -> IO ()) | a callback to report progress. Note: the callback is a no-op at the moment and there are no plans to use it; feel free to ignore this argument for now. |
| -> IO Result |
Run the test
This method should cleanly catch any exceptions in the code to test, and
return them as part of the Result, see FailureReason for an
explanation. It is ok for run to raise an exception if there is a
problem with the test suite code itself (for example, if a file that
should contain example data or expected output is not found).
testOptions :: Tagged t [OptionDescription] Source #
The list of options that affect execution of tests of this type
A test result
Test progress information.
This may be used by a runner to provide some feedback to the user while a long-running test is executing.
Constructors
| Progress | |
Fields
| |
The main data structure defining a test suite.
It consists of individual test cases and properties, organized in named groups which form a tree-like hierarchy.
There is no generic way to create a test case. Instead, every test
provider (tasty-hunit, tasty-smallcheck etc.) provides a function to
turn a test case into a TestTree.
Groups can be created using testGroup.