...而不是为每个属性生成 100 个新的随机样本?
我的测试套件包含此处解释的 TemplateHaskell hack [1]
测试所有名为 prop_* 的函数。运行测试程序打印
=== prop_foo from tests/lala.lhs:20 ===
+++ OK, passed 100 tests.
=== prop_bar from tests/lala.lhs:28 ===
+++ OK, passed 100 tests.
看起来像是对每个样本进行 100 个随机样本
特性。
问题:生成样本非常昂贵,检查
属性不是。所以我想有一种方法来通过每个随机
对每个 prop_* 函数进行采样,而不是创建新的
(#properties * 100) 许多样本。
有内置类似的东西吗?事实上,我想我需要一个
更换接头
$(forAllProperties)
in
main :: IO ()
main
= do args <- parseArgs <$> getArgs
s <- $(forAllProperties) $ quickCheckWithResult args
s ? return () $ exitFailure
where
parseArgs as
= null as ? stdArgs $ stdArgs{ maxSuccess = read $ head as }
[1] 简单的 Haskell 单元测试 https://stackoverflow.com/questions/5683911/, 和快速检查失败时的退出状态以及阴谋集团整合 https://stackoverflow.com/questions/8976488/
在这篇文章中,您可以了解如何对测试进行分组
Stackoverflow 帖子 https://stackoverflow.com/questions/22127558/haskell-io-monads-quickcheck/
该用户提供了一个非常简单的使用示例测试.美味.快速检查
Using 测试属性 and 测试组您可以将每个随机样本传递给每个属性
在下一个链接中,您可以检查hackage这个包的
测试.美味.快速检查 https://hackage.haskell.org/package/tasty-quickcheck-0.8.4/docs/Test-Tasty-QuickCheck.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)