如何让Haskell QuickCheck 2.4增加#测试?

时间:2011-11-14 01:12:59

标签: haskell quickcheck

好的,正如我通过previous question了解到的那样,RWH书籍已经过时了QuickCheck。尽管我读过的所有帖子告诉我使用QuickCheck有多么简单,我找不到任何地方告诉我如何更改为房产运行的测试数量。

RWH说:

handyCheck limit = check defaultConfig {
                     configMaxTest = limit
                   , configEvery   = \_ _ -> ""
                   }

如何使用QuickCheck 2.4执行此操作?更重要的是,我怎么会发现自己?请不要告诉我,我应该能够从API文档中找到它。

2 个答案:

答案 0 :(得分:48)

您正在寻找:

quickCheckWith stdArgs { maxSuccess = 5000 } someProp

我如何找到

  1. 我去了API documentation
  2. 我看到的第二件事,quickCheck之后是带有Args字段的maxSuccess类型。
  3. 我不想写所有字段,因此我查找了Args类型的值 - 查找stdArgs。 (使用浏览器搜索功能 - 通常是ctrl-f)。 OTOH,我本可以使用hoogle
  4. 我需要在某个地方使用我的Args类型,所以我一直在寻找。下一行是quickCheckWith - 宾果游戏!另一方面,我可以使用hoogle
  5. 你怎么能找到

    正如我上面所说,你可以使用hoogle找到很多功能,假设你意识到Args类型是你需要的核心(来自黑线鳕)。

    否则,您可能会减少查看其他软件包的功能,这意味着您需要了解其他软件包的价值。 QuickCheck中的examples文件夹似乎很明显,但并非所有软件包都包含此类示例。使用reverse dependencies,您经常可以找到一个包来查看,但是对于QC,许多包没有明确的依赖关系。

答案 1 :(得分:3)

对于那些想要一次运行所有测试并提供配置的人:

return []
main = $forAllProperties (quickCheckWithResult stdArgs { maxSuccess = 500 })