Wie kann ich einen einfachen Test mit Cabal durchführen?
Frage
Ich habe ein Haskell-Projekt- und Cabal-Paket-Beschreibung, mit dem ich mein Paket erstellen und installieren kann
$ cabal configure $ cabal build $ cabal install
Aber was ist mit cabal test
? Die Hilfe von Cabals sagt, eine Testsuite mit Userhooks zu konfigurieren, aber wie kann ich das tun?
Lösung
Wie Duncan in Gregs Antwort erwähnte, hat Cabal-1.10 Unterstützung für Testsuiten.
Das Handbuch Scheint die besten Informationen zu haben, die ich darüber gefunden habe, wie ich dies nutzen kann.
Hier ist ein Ausschnitt aus dem Handbuch, das zeigt, wie die Verwendung der Verwendung exitcode-stdio
Testtyp:
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
Andere Tipps
Für einen Ansatz siehe Einen einfachen Test mit Cabal einrichten.
Dieser Ansatz hat Nachteile und es gibt eine Offene Kabalenkarte Dies deutet darauf hin, dass man Tests direkter angeben kann. z.B,
test
test-is: Test
build-depends: QuickCheck
hs-source-dirs: tests src