问题标签 [quickcheck]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2674 浏览

haskell - 将单元测试与 Haskell's Cabal 集成的当前状态?

当我在谷歌上搜索如何将单元测试与 cabal 文件集成时,我要么找到

您今天将如何使用 cabal 运行所有单元测试(例如,每次我执行“cabal 构建”时)?

0 投票
3 回答
1676 浏览

haskell - Haskell QuickCheck 唯一随机数生成

有谁知道如何使用 QuickCheck 在 Haskell 中定义生成器,以便只选择一次选择的元素?

我已经意识到我可能需要一个“Gen(Maybe Positive)”生成器,但当然这会产生重复的数字。我想要它,以便选择不重复的数字。在返回数字的情况下,我想要 Just return,而在随机数全部用尽的情况下,我希望 Gen Nothing 返回。

谢谢,

标记

0 投票
2 回答
379 浏览

unit-testing - 快速检查 Smalltalk?

是否有 Smalltalk 的 QuickCheck 模块,尤其是 Gnu Smalltalk、Squeak 和/或 Pharo?

维基百科:快速检查

0 投票
2 回答
909 浏览

haskell - QuickCheck 实例在 cabal 包中属于哪里?

我有一个cabal 包,它导出一种NBT可能对其他开发人员有用的类型。我遇到了Arbitrary为我的类型定义实例的麻烦,如果不将它提供给其他开发人员来测试他们集成了我的工作的代码,那将是一种耻辱。

但是,我想避免我的实例可能会妨碍的情况。也许其他开发人员对实例应该是什么有不同的想法。Arbitrary也许我的包对特定版本的 QuickCheck 的依赖可能会干扰或不需要客户端项目的依赖。

我的想法,没有特别的顺序,是:

  • 将实例留在Arbitrary类型定义旁边,让客户端处理隐藏实例或覆盖 QuickCheck 版本号。
  • 使该Arbitrary实例成为同一包内的单独模块中的孤立实例,例如Data.NBT.Arbitrary. 整个包对 QuickCheck 的依赖仍然存在。
  • 在完全独立的包中提供Arbitrary实例,以便它可以作为客户端项目的单独测试依赖项列出。
  • 有条件地在主包中包含Arbitrary实例和 QuickCheck 依赖项,但前提-ftest是设置了类似的标志。

我已经看到在其他库中使用了所有这些的组合,但还没有就哪个效果最好达成任何共识。我想在上传到 Hackage 之前尝试把它做好。

0 投票
2 回答
1113 浏览

haskell - 如何在 main 中使用快速检查

我正在为我编写的二进制搜索函数编写测试。

在 ghci 中使用 quickCheck 效果很好,但是当我尝试运行 main 时,它会出现错误

为什么这在 main 中不起作用,但在 ghci 中起作用?

0 投票
1 回答
491 浏览

c - 我们如何在 va_list 上应用非 vararg 函数?

背景故事

我正在将QuickCheck单元测试框架移植到 C(请参阅GitHub 上的工作代码)。语法将是:

property例如,要测试的函数在哪里bool is_odd(int)gen1,gen2等是为 生成输入值的函数property。有些生成整数,有些生成字符,有些生成字符串,等等。

for_all将接受具有任意输入的函数(任意数量的参数,任何类型的参数)。for_all将运行生成器,创建测试值以传递给属性函数。例如,该属性is_odd是一个类型为 的函数bool f(int)for_all将使用生成创建 100 个测试用例。如果属性为其中任何一个返回 false,for_all将打印有问题的测试用例值。否则,for_all将打印"SUCCESS".

因此for_all应该使用 ava_list来访问生成器。一旦我们调用了生成器函数,我们如何将它们传递给属性函数?

例子

如果is_odd有 type bool f(int),我们将如何实现apply()具有以下语法的函数:

次要问题

SO

我们如何智能地打印失败测试用例的任意值?一个测试用例可能是一个整数,或者两个字符,或者一个字符串,或者以上的某种组合?我们不会提前知道是否使用:

  • printf("%d %d %d\n", some_int, some_int, some_int);
  • printf("%c\n" a_character);
  • printf("%s%s\n", a_string, a_struct_requiring_its_own_printf_function);
0 投票
2 回答
272 浏览

haskell - 避免重复的 QuickCheck 属性

我开始通过做 99 个 Haskell 问题来学习 Haskell。 http://www.haskell.org/haskellwiki/H-99:_Ninety-Nine_Haskell_Problems 我想使用快速检查为每个程序/函数编写测试。

我有以下代码:

我可能会写myLast'',myLast'''等。有没有一种方法可以测试所有这些方法而无需复制代码和快速检查属性?

相关问题:现在,我告诉 quickcheck 使用字符串。有没有办法随机使用不同的类型进行测试?

0 投票
3 回答
5976 浏览

haskell - 使用 Haskell 的 QuickCheck 生成特定长度的列表

当 prop_3a 通过 QuickCheck 运行时,它放弃了,因为它不会生成足够长的列表。

如何编写一个生成器来生成长度大于随机整数的列表?

0 投票
1 回答
168 浏览

haskell - 如何在 Djinn/UU/Examples/Equality.hs 中加载示例?

之后cabal install Djinn使用 QuickCheck,可执行文件位于./.cabal/bin/djinn.

然后我将可执行文件复制到目录Downloads/Djinn/UU/Examples/

Equality.hs然后想运行示例djinn Equality.hs,无法解析命令

然后./djinn然后:load full path/UU/Examples/Equality.hs

return 无法解析命令

0 投票
1 回答
728 浏览

haskell - Haskell QuickCheck2 使用 ByteString?

RWH 书籍说要获得 ByteString 支持,我需要添加:

但是我的带有 QuickCheck 2.4.1.1 的 GHC 7.2 告诉我:

任何指针?