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."