test-framework-th: Automagically generate the HUnit- and Quickcheck-bulk-code using Template Haskell.

[ bsd3, library, testing ] [ Propose Tags ]

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).

Modules

[Last Documentation]

  • Test
    • Framework
      • Test.Framework.TH

Downloads

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

Package maintainers

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 (>=0.2), 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:27:58Z
Category Testing
Home page http://github.com/finnsson/test-generator
Source repo head: git clone https://github.com/finnsson/test-framework-th/
Uploaded by OscarFinnsson at 2011-04-16T11:32:03Z
Distributions Arch:0.2.4, Debian:0.2.4, NixOS:0.2.4
Reverse Dependencies 7 direct, 21 indirect [details]
Downloads 18486 total (35 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2016-12-01 [all 6 reports]