Se ho test/Test.hs
conPerché la mia suite di test HUnit passa quando i miei test falliscono?
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]
e un .cabal
con
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
e corro cabal test --show-details='always'
allora ottengo
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
Perché il mio test di passaggio suite quando ho avuto fallimenti? Allo stesso modo, se I cabal sdist
non viene visualizzato alcun avviso che i miei test non sono riusciti.
Avevo esaminato 'dettagliato-0.9', ma [ho ottenuto l'atmosfera] (http://stackoverflow.com/a/18686329/656912) che era meno stabile e difficile da usare. – orome
@raxacoricofallapatorius, potrebbe essere. Non ho mai avuto problemi con entrambi; Ho solo fatto un po 'di espansione delle suite di test esistenti in progetti esistenti. – dfeuer
@dfeuer: Ho usato il tuo approccio con 'ExitSuccess' e' ExitFailure', ma non funziona per qualche motivo se eseguo 'test della cabala --show-details = 'always'' - build dice test suite: PASS anche se c'è un fallimento. Potresti raccomandare una soluzione alternativa? – altern