Если я test/Test.hs
сПочему мой тестовый пакет HUnit проходит, когда мои тесты терпят неудачу?
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]
и .cabal
с
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
и я бегу cabal test --show-details='always'
тогда я получаю
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
Почему мой тестовый проход ванной, когда я был неудачи? Аналогично, если я cabal sdist
, я не получаю предупреждения о том, что мои тесты потерпели неудачу.
Я изучил 'подробный-0.9', но [получил vibe] (http://stackoverflow.com/a/18686329/656912), что он был менее стабильным и сложным в использовании. – orome
@raxacoricofallapatorius, может быть. Я никогда не сталкивался с этим; Я только немного поработал над существующими наборами тестов в существующих проектах. – dfeuer
@dfeuer: Я использовал ваш подход с 'ExitSuccess' и' ExitFailure', но по какой-то причине он не работает, если я запускаю 'cabal test -show-details = 'always'' - build говорит тестовый набор: PASS, хотя есть одна неудача. Не могли бы вы посоветовать обходное решение? – altern