Comment puis-je configurer un test simple avec Cabal?
Question
J'ai un projet Haskell et une description de paquetage Cabal qui me permettent de construire et d'installer mon paquet avec
$ cabal configure $ cabal build $ cabal install
Mais qu'en est-il de cabal test
? L’aide de Cabal dit de configurer une suite de tests avec UserHooks, mais comment puis-je le faire?
La solution
Comme Duncan l'a mentionné dans sa réponse, Cabal-1.10 prend en charge les suites de tests prêtes à l'emploi.
Le manuel semble avoir le meilleure information que j'ai trouvée sur la façon de s'en servir.
Voici un extrait du manuel qui explique comment utiliser le exitcode-stdio
type de test:
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
test-foo.hs:
module Main where
import System.Exit (exitFailure)
main = do
putStrLn "This test always fails!"
exitFailure
Autres conseils
Pour une approche, voir Créer un test simple avec Cabal .
Cette approche présente des inconvénients et il existe un billet ouvert sur Cabal qui suggère d'être capable de spécifier des tests plus directement, par exemple ,
test
test-is: Test
build-depends: QuickCheck
hs-source-dirs: tests src