The latest version of easytest is 0.3-0.
easytest
Version 0.1.1 revision 1 uploaded by GeorgeWilson.
Package meta
- Synopsis
- Simple, expressive testing library
- Description
EasyTest is a simple testing toolkit, meant to replace most uses of QuickCheck, SmallCheck, HUnit, and frameworks like Tasty, etc. Here's an example usage:
module Main where import EasyTest import Control.Applicative import Control.Monad suite :: Test () suite = tests [ scope "addition.ex1" $ expect (1 + 1 == 2) , scope "addition.ex2" $ expect (2 + 3 == 5) , scope "list.reversal" . fork $ do -- generate lists from size 0 to 10, of Ints in (0,43) -- shorthand: listsOf [0..10] (int' 0 43) ns <- [0..10] `forM` \n -> replicateM n (int' 0 43) ns `forM_` \ns -> expect (reverse (reverse ns) == ns) -- equivalent to `scope "addition.ex3"` , scope "addition" . scope "ex3" $ expect (3 + 3 == 6) , scope "always passes" $ do note "I'm running this test, even though it always passes!" ok -- like `pure ()`, but records a success result , scope "failing test" $ crash "oh noes!!" ] -- NB: `run suite` would run all tests, but we only run -- tests whose scopes are prefixed by "addition" main = runOnly "addition" suite
This generates the output:
Randomness seed for this run is 5104092164859451056 Raw test output to follow ... ------------------------------------------------------------ OK addition.ex1 OK addition.ex2 OK addition.ex3 ------------------------------------------------------------ ✅ 3 tests passed, no failures! 👍 🎉
The idea here is to write tests with ordinary Haskell code, with control flow explicit and under programmer control.
- Author
- Joel Burget, Paul Chiusano
- Bug reports
- https://github.com/joelburget/easytest/issues
- Category
- Testing
- Copyright
- Copyright (C) 2017-2018 Joel Burget, Copyright (C) 2016 Paul Chiusano and contributors
- Homepage
- https://github.com/joelburget/easytest
- Maintainer
- Joel Burget <joelburget@gmail.com>
- Package URL
- n/a
- Stability
- provisional