Wenn ich test/Test.hs
mitWarum passiert meine Hunit Testsuite, wenn meine Tests fehlschlagen?
module Main where
import Test.HUnit
test1 :: Test
test1 = TestCase $ assertEqual "Should be one" 1 5
test2 :: Test
test2 = TestCase $ assertEqual "Shold both be zero" 0 0
main :: IO Counts
main = runTestTT $ TestList [test1, test2, test1]
und ein .cabal
mit
test-suite my-test
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Test.hs
build-depends: base >= 4.8.1.0 && <4.9,
HUnit >= 1.3
default-language: Haskell2010
und ich laufe cabal test --show-details='always'
dann bekomme ich
Test suite my-test: RUNNING...
### Failure in: 0
test/Test.hs:6
Should be one
expected: 1
but got: 5
### Failure in: 2
test/Test.hs:6
Should be one
expected: 1
but got: 5
Cases: 3 Tried: 3 Errors: 0 Failures: 2
Test suite my-test: PASS
Warum kommt der Test-Suite weiter, wenn ich je hatte Fehler? Ebenso, wenn ich cabal sdist
bekomme ich keine Warnung, dass meine Tests fehlgeschlagen sind.
Ich hatte in 'Detailed-0,9' nachgeschaut, aber [bekam die Stimmung] (http://Stackoverflow.com/a/18686329/656912), dass es weniger stabil und schwer zu verwenden war. – orome
@raxacoricofallapatorius, könnte sein. Ich habe mich auch nie damit herumgeschlagen; Ich habe nur ein paar Erweiterungen bestehender Testsuiten in bestehenden Projekten durchgeführt. – dfeuer
@dfeuer: Ich habe Ihren Ansatz mit 'ExitSuccess' und' ExitFailure' verwendet, aber es funktioniert aus irgendeinem Grund nicht, wenn ich 'cabal test --show-details = 'always''ausführe - Build sagt Testsuite: PASS obwohl Es gibt einen Fehler. Könnten Sie bitte einen Workaround empfehlen? – altern