tasty-expected-failure- Mark tasty tests as failure expected

Safe HaskellNone




expectFail :: TestTree -> TestTree Source

Marks all tests in the give test as expected failures: The tests will still be run, but if they succeed, it is reported as a test suite failure, and conversely a the failure of the test is ignored.

Any output of a failing test is still printed.

This is useful if, in a test driven development, tests are written and commited to the master branch before their implementation: It allows the tests to fail (as expected) without making the whole test suite fail.

Similarly, regressions and bugs can be documented in the test suite this way, until a fix is commited, and if a fix is applied (intentionally or accidentially), the test suite will remind you to remove the expectFail marker.

ignoreTest :: TestTree -> TestTree Source

Prevents the tests from running and reports them as succeeding. This maybe be desireable as an alternative comment the tests out, as they are still typechecked, and the test report lists them, as a reminder that there are ignored test.

wrapTest :: (IO Result -> IO Result) -> TestTree -> TestTree Source

wrapTest allows you to modify the behavoiur of the tests, e.g. by modifying the result or not running the test at all. It is used to implement expectFail and ignoreTest.