test-framework-th: Automagically generate the HUnit- and Quickcheck-bulk-code using Template Haskell.
test-framework-th
contains two interesting functions: defaultMainGenerator
and testGroupGenerator
.
defaultMainGenerator
will extract all functions beginning with case_ or prop_ in the module and put them in a testGroup.
-- file SomeModule.hs ( -# OPTIONS_GHC -fglasgow-exts -XTemplateHaskell #- ) module SomeModule where import Test.Framework.TH import Test.Framework import Test.HUnit import Test.Framework.Providers.HUnit import Test.Framework.Providers.QuickCheck2 -- observe this line! main = $(defaultMainGenerator) case_1 = do 1 @=? 1 case_2 = do 2 @=? 2 prop_reverse xs = reverse (reverse xs) == xs where types = xs::[Int]
is the same as
-- file SomeModule.hs ( -# OPTIONS_GHC -fglasgow-exts -XTemplateHaskell #- ) module SomeModule where import Test.Framework.TH import Test.Framework import Test.HUnit import Test.Framework.Providers.HUnit import Test.Framework.Providers.QuickCheck2 -- observe this line! main = defaultMain [ testGroup "SomeModule" [ testCase "1" case_1, testCase "2" case_2, testProperty "reverse" prop_reverse] ] case_1 = do 1 @=? 1 case_2 = do 2 @=? 2 prop_reverse xs = reverse (reverse xs) == xs where types = xs::[Int]
testGroupGenerator
is like defaultMainGenerator
but without defaultMain
. It is useful if you need a function for the testgroup
(e.g. if you want to be able to call the testgroup from another module).
Downloads
- test-framework-th-0.1.3.tar.gz [browse] (Cabal source package)
- Package description (revised from the package)
Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 0.1.2, 0.1.3, 0.2.0, 0.2.1, 0.2.2, 0.2.3, 0.2.4 |
---|---|
Dependencies | base (>=4 && <5), haskell-src-exts, haskell98 (<2), language-haskell-extract, regex-posix, template-haskell, test-framework [details] |
License | BSD-3-Clause |
Author | Oscar Finnsson & Emil Nordling |
Maintainer | Oscar Finnsson |
Revised | Revision 1 made by HerbertValerioRiedel at 2015-08-29T08:28:07Z |
Category | Testing |
Home page | http://github.com/finnsson/test-generator |
Uploaded | by OscarFinnsson at 2010-08-28T09:56:42Z |
Distributions | Arch:0.2.4, Debian:0.2.4, NixOS:0.2.4 |
Reverse Dependencies | 7 direct, 21 indirect [details] |
Downloads | 18876 total (3 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs uploaded by user Build status unknown [no reports yet] |