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

Ana*_*Ana 26 haskell quickcheck

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

RWH说:

handyCheck limit = check defaultConfig {
                     configMaxTest = limit
                   , configEvery   = \_ _ -> ""
                   }
Run Code Online (Sandbox Code Playgroud)

如何使用QuickCheck 2.4做到这一点?更重要的是,我怎么会发现自己?请不要告诉我,我应该能够从API文档中找到它.

Tho*_*son 48

您正在寻找:

quickCheckWith stdArgs { maxSuccess = 5000 } someProp
Run Code Online (Sandbox Code Playgroud)

我怎么发现的

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

你怎么知道的?

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

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

  • 嗨托马斯.我很高兴您能通过API找到答案.但是我还没有开始进入这个软件包,我无法做出大部分内容的正面或反面.失去了任意.CoArbitrary失去了方式.根?不知道那是什么.文档说"随机生成器".我希望你明白我的意思.但感谢您提供快速答案. (6认同)
  • @Ana可以理解你在任意,CoArbitrary和诸如此类的东西上迷失了.诀窍是,不要被这些东西吓倒.大多数API都有一个简单的部分可以帮助您入门,因此请尝试忽略复杂的内容并首先找到简单的部分.在这种情况下,您需要_check_您的代码,因此在其名称中搜索包含'check'的函数(由于camelCase不区分大小写),并查看看起来有用的内容. (4认同)