QuickCheck 2 пакетной обработки

Batch модуль QuickCheck был удален с версией 2 ( 1.2.0.1 все еще есть). Из-за этого я всегда чувствую mapM_-создание нескольких тестов вместе - отчасти хак. Я пропускаю функцию преемника в QuickCheck 2? Существует ли канонический способ группировки независимых тестов?

1 ответ

Существует опция "идти вперед или идти домой", объединяющая все тесты в текущем модуле с помощью 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."
Другие вопросы по тегам