Come posso impostare un semplice test con Cabal?
Domanda
Ho un progetto Haskell e una descrizione del pacchetto Cabal che mi permette di compilare e installare il mio pacchetto con
$ cabal configure $ cabal build $ cabal install
Ma per quanto riguarda cabal test
? L'aiuto di Cabal dice di configurare una suite di test con UserHooks, ma come posso farlo?
Soluzione
Come menzionato Duncan nella risposta di Greg, Cabal-1.10 supporta immediatamente le suite di test.
Il manual sembra avere il migliori informazioni che ho trovato su come utilizzare questo.
Ecco uno snippet del manuale che mostra come utilizzare il exitcode-stdio
tipo di 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
Altri suggerimenti
Per un approccio, vedi Impostazione di un test semplice con Cabal .
Questo approccio presenta degli svantaggi e esiste un biglietto per cabala aperto che suggerisce di essere in grado di specificare i test più direttamente, ad esempio ,
test
test-is: Test
build-depends: QuickCheck
hs-source-dirs: tests src