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?

War es hilfreich?

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
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top