Safe Haskell | None |
---|
This module defines the main data types and functions needed to use Tasty.
- type TestName = String
- data TestTree
- testGroup :: TestName -> [TestTree] -> TestTree
- defaultMain :: TestTree -> IO ()
- defaultMainWithIngredients :: [Ingredient] -> TestTree -> IO ()
- defaultIngredients :: [Ingredient]
- adjustOption :: IsOption v => (v -> v) -> TestTree -> TestTree
- localOption :: IsOption v => v -> TestTree -> TestTree
Organizing tests
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
.
testGroup :: TestName -> [TestTree] -> TestTreeSource
Create a named group of test cases or other groups
Running tests
defaultMain :: TestTree -> IO ()Source
Parse the command line arguments and run the tests
defaultMainWithIngredients :: [Ingredient] -> TestTree -> IO ()Source
Parse the command line arguments and run the tests using the provided ingredient list
defaultIngredients :: [Ingredient]Source
List of the default ingredients. This is what defaultMain
uses.
At the moment it consists of listingTests
and consoleTestReporter
.
Adjusting options
Normally options are specified on the command line. But you can also have different options for different subtrees in the same tree, using the functions below.
adjustOption :: IsOption v => (v -> v) -> TestTree -> TestTreeSource
Locally adjust the option value for the given test subtree
localOption :: IsOption v => v -> TestTree -> TestTreeSource
Locally set the option value for the given test subtree