我正在使用QuickCheck作为Haskell中的测试套件。我想运行一个在IO Monad中始终相同的测试。
问题是QuickCheck会自动生成100个测试,即使测试不带任何参数。举个例子(不是我的实际测试):
prop_parseTest :: Property
prop_parseTest = monadicIO $ do
run $ writeFile "temp.txt" "hello world!"
content <- run $ readFile "temp.txt"
assert $ content == "hello world!"
如何让QuickCheck只运行此测试一次?
编辑:我的测试通过quickCheckAll函数执行:
return []
runTests = $quickCheckAll
main :: IO ()
main = qcTests runTests
qcTests :: IO Bool -> IO ()
qcTests tests = do
passed <- tests
if passed then exitSuccess
else exitFailure
1条答案
按热度按时间elcex8rz1#
第一个月
修改属性,使其只测试一次。
您可以像这样使用它: