QuickCheck 2批处理

时间:2012-11-23 17:35:13

标签: haskell batch-processing quickcheck

使用version 21.2.0.1 still has it)删除了QuickCheck的Batch模块。因此,我总是感觉像mapM_ - 多个测试一起是一种hacky。我是否忽略了QuickCheck 2中的后续功能?是否有一种将独立测试分组在一起的规范方法?

1 个答案:

答案 0 :(得分:9)

通过Test.QuickCheck.All将当前模块中的所有测试组合在一起的“大或回家”选项。它需要Template Haskell,所有属性必须以prop_开头。例如:

{-# LANGUAGE TemplateHaskell #-}

import Test.QuickCheck.All

prop_one, prop_two :: a -> Bool
prop_one = const True
prop_two = const True

runTests :: IO Bool
runTests = $quickCheckAll

main :: IO ()
main = runTests >>= \passed -> if passed then putStrLn "All tests passed."
                                         else putStrLn "Some tests failed."