jbe*_*man 10 haskell quickcheck cabal
我试图了解如何将一些quickcheck测试与cabal集成.这个要点表明该quickCheck
函数在失败时返回非零状态,但我没有得到这种行为,因此使用cabal的exitcode-stdio-1.0
测试套件类型似乎对我不起作用,除非我想调用error
我的所有测试.
cabal 用户指南还提到了一个detailed-1.0
测试套件,但AFAICT还没有.那还是这样吗?
这似乎从类似的回答这一个,很多人都在使用测试框架封装.这对我来说太过分了,但这是我应该用的吗?
我对这种情况感到不满意.
我正在使用的东西的版本:
cabal-install version 0.10.2
using version 1.10.1.0 of the Cabal library
QuickCheck-2.4.1.1
Run Code Online (Sandbox Code Playgroud)
ehi*_*ird 14
看看它quickCheck
的实现,它确实永远不会退出该计划.但是,您可以使用quickCheckResult
以下方法轻松实现此行为:
import Control.Monad
import Test.QuickCheck
import Test.QuickCheck.Test
import System.Exit
main :: IO ()
main = do
result <- quickCheckResult prop
unless (isSuccess result) exitFailure
Run Code Online (Sandbox Code Playgroud)
我的理解是,detailed-1.0
它还没有被考虑用于一般用途,exitcode-stdio-1.0
现在仍然是推荐的测试解决方案.