问题标签 [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.
haskell - 增强测试.QuickCheck
我想扩展QuickCheck以在测试失败时给我更好的消息(而不仅仅是种子)。例如,我希望能够按照以下方式创建事物:
或(带有Monoid
“停止”SadResult
并“继续”在上的实例HappyResult
,类似于(&&)
运算符 for TestResult
)
如何扩展 QuickCheck 功能?或者,是否有一个更可扩展的随机测试库?
谢谢!
haskell - 将测试套件链接到库时出错
我正在尝试使用 quickcheck 为我编写的简单词法分析器编写测试。但是,我似乎遇到了某种链接错误
我正在使用 cabal-dev 构建
我的 .cabal 文件正在构建一个库“mylib” 库部分在其公开的模块部分 Lexical.Token 下,在测试套件下,我在 build_depends 下列出了“mylib”,我还在其他模块下列出了 Lexical.token。
我错过了什么?我从 ghc (7.4.1) 得到的错误如下:
haskell - Haskell quickcheck 生成和测试玫瑰树?
我正在尝试一个简单的玫瑰树代码。
我可以使用 quickcheck 来测试 Eq 实例的实现吗?如果是,如何?如果没有,最好的选择是什么?
我还有一个执行以下操作的函数:
函数 appendPath 将玫瑰树作为输入,并返回一个玫瑰树,其中包含树的每个节点中从节点到根的路径。我在另一个函数中使用此信息。
如何使用 quickcheck 在大型玫瑰树上检查此实现?
编辑:
正如 mhwombat 所建议的,编写将类型参数作为参数的生成器似乎是不可能的。所以这是我的类型参数。我想构造一个RoseT
表示有效随机算术表达式的字符串,其中算术表达式本身遵循以下结构:
data Expr = Var String | AddExpr [Expr] | MulExpr [Expr] deriving Show
那么,有没有办法在RoseT Expr
仅使用快速检查随机生成 Expr 本身的情况下生成随机?
再次感谢 mhwombat,感谢我的婴儿步。
haskell - QuickCheck 测试随机挂起
我是 Haskell 的新手。我正在玩 QuickCheck 测试,尝试测试一个简单的功能calculateStrengthSingle
(请参阅下面的 testee 的来源)
测试看起来像这样
当我这样做时runhaskell TestFighter.hs
,有输出(1 test)
(数字在变化,有时它0
是4
)并且 CPU 100% 加载。一分钟左右什么都没有发生。当我中断程序时Ctrl+C
,它会吐出类似的东西
问题:
- 我哪里搞砸了?
- 如何调试无限计算的情况,比如这个?
haskell - Haskell QuickCheck 为具有许多输入变量的函数生成随机数据
我有一个具有以下类型签名的函数
- 第一个输入应该是来自
非负严格正整数的值 - 第二个和第三个输入必须在闭合区间 [0.0,1.0] 内,否则该函数没有意义
该函数具有
如何分别为 和 生成随机maxIdx
数据;我知道该函数,但不知道如何将其与多个输入变量一起使用。r1
r2
choose
现在我已经用 fixed 测试了 Property idx
,这不是它应该测试的方式。
testing - 为什么 QuickCheck 放弃了?
我QuickCheck
用来测试以下程序:
尽管反应各不相同,但我不断收到消息
这是我应该关心的事情吗?还是测试输入的性质决定了 QuickCheck 将运行多长时间?
haskell - 使用 Haskell QuickCheck 测试 TCP 端口验证器
我正在尝试(第一次)使用 QuickCheck 来测试一个验证 TCP 端口号的函数:
我写了一个这样的任意实例:
但我不确定如何编写测试属性。
haskell - 使用 QuickCheck 测试故意错误条件
我已经看到如何使用 QuickCheck 测试单子和非单子代码,但是如何使用它来测试处理错误的代码,即打印一些消息然后调用exitWith
?
haskell - 使用 Test.Framework 为代数数据类型实现 QuickCheck Arbitrary
我正在尝试为我的 ADT 编写一些快速检查属性:
这不会编译:
...但我确实为Arbitrary Activity
. 我错过了什么?
haskell - quickCheck 出现分段错误的错误:11
我正在研究“Haskell - 函数式编程的工艺”,并遇到了一个非常奇怪的问题:
我定义了以下两个函数:
这似乎都产生了预期的结果。然后我定义了以下 quickCheck 属性:
quickCheck prop_name
与生产一起运行时的所有这些属性:
我的模块定义如下:
是什么导致此错误消息?