10

QuickCheck的模块在版本 2Batch中被删除(1.2.0.1 仍然有它)。正因为如此,我总是觉得 -将多个测试放在一起有点 hacky。我是否忽略了 QuickCheck 2 中的后续功能?是否有将独立测试组合在一起的规范方法?mapM_

4

1 回答 1

9

有“go big or go home”选项,可以通过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."
于 2012-11-23T20:18:49.783 回答