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.
Constructors
forall t. IsTest t => SingleTest TestName tA single test of some particular type
TestGroup TestName [TestTree]Assemble a number of tests into a cohesive group
PlusTestOptions (OptionSet -> OptionSet) TestTreeAdd some options to child tests
forall a. WithResource (ResourceSpec a) (IO a -> TestTree)Acquire the resource before the tests in the inner tree start and release it after they finish. The tree gets an IO action which yields the resource, although the resource is shared across all the tests.
AskOptions (OptionSet -> TestTree)Ask for the options and customize the tests based on them.
After DependencyType Expr TestTreeOnly run after all tests that match a given pattern finish (and, depending on the DependencyType, succeed).