Модуль Batch
QuickCheck был удален с помощью версии 2 (1.2.0.1 все еще есть). Из-за этого, я всегда чувствую себя как mapM_
-в нескольких тестах вместе, это хакка. Могу ли я игнорировать функцию преемника в QuickCheck 2? Существует ли канонический способ группировки независимых тестов вместе?
QuickCheck 2 пакетная обработка
Ответ 1
Там опция "go big or go home" объединяет все тесты в текущем модуле через Test.QuickCheck.All
. Для этого требуется шаблон 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."