Как упоминал Дункан в ответе Грега, Cabal-1.10 имеет встроенную поддержку тестовых наборов.
Руководство , кажется, содержит лучшую информацию, которую я нашел относительно того, как использовать это.
Вот фрагмент руководства, в котором показано, как использовать тип теста exitcode-stdio
:
foo.cabal
Name: foo
Version: 1.0
License: BSD3
Cabal-Version: >= 1.9.2
Build-Type: Simple
Test-Suite test-foo
type: exitcode-stdio-1.0
main-is: test-foo.hs
build-depends: base
тест-foo.hs:
module Main where
import System.Exit (exitFailure)
main = do
putStrLn "This test always fails!"
exitFailure