Wenn ich test/Test.hs
mit
und ein .cabal
mit
und ich starte cabal test --show-details='always'
, dann bekomme ich
Warum besteht meine Testsuite nach Fehlern? Ebenso, wenn ich cabal sdist
bekomme ich keine Warnung, dass meine Tests fehlgeschlagen sind.
Nach dem Kabalen-Benutzerleitfaden ,
Testsuites, die die Schnittstelle
exitcode-stdio-1.0
verwenden, sind ausführbare Dateien, die bei Ausführung einen Testfehler mit einem Beendigungscode ungleich Null angeben. Sie können über die Standardausgabe- und Fehlerkanäle für Benutzer lesbare Protokollinformationen bereitstellen.
Sie haben
definiert %Vor% Dies führt Tests aus, druckt Testinformationen aus und wird dann immer erfolgreich beendet. Wenn Cabal wissen soll, dass der Test fehlgeschlagen ist, müssen Sie Counts
erfassen, auf errors
und failures
prüfen und den Status mit einem Status ungleich Null beenden, wenn Sie einen solchen finden.
Das test-framework
-Paket bietet bequeme defaultMain
-Funktionen, die so etwas tun; Vielleicht möchten Sie diesen Ansatz in Betracht ziehen.
Sie sollten beachten, dass die Schnittstelle exitcode-stdio-1.0
als semi-deprecated gilt; Die Cabal-Betreuer empfehlen, zu ihrer eher Haskellian detailed-0.9
-Schnittstelle zu wechseln.
Tags und Links haskell unit-testing hunit