问题标签 [property-based-testing]
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.
java - 如何使用 jqwik 生成排序后的数字数组
我正在使用 java jqwik 进行基于属性的测试,我想生成排序数组,我的代码到目前为止:
java - jqwik 对已排序数组及其某些元素
以下代码旨在生成随机排序的数组,并将键作为该数组的一个元素。但是我不知道问题,键不在数组中?
为什么我的键不在数组中,我需要键是 Integer[] 数组的一个元素。
python - 如何更改假设生成的最大测试用例数?
著名的基于属性的测试框架假设能够生成大量的测试用例。
但是有没有办法限制假设生成的测试用例的数量,以缩短测试周期?
例如将特定的关键字参数提供给@given
装饰器?
python - 使用基于属性的测试断言值错误
我有一个返回数字除数的函数num
。如果 number 为 ,该函数将引发错误negative
。
我正在使用假设库来测试这个函数,但我不确定如何使它成为基于属性的测试。
这是我的测试:
此代码有效,但我如何更改它以使参数为“num”而不是硬编码。同样,对于任何数字 num,我如何断言一个是集合的一个元素。
f# - FsCheck 不使用注册的 Arbs/Gens
我正在尝试使用 FsCheck 进行基于属性的测试,但我似乎无法弄清楚如何让 FsCheck 使用我注册的基因。这是为域生成类型的代码:
这是示例测试
我有两个问题:
FsCheck 似乎没有使用我提供的生成器,因为它正在生成
Silly
名称为空的类型。我尝试在 gen 中为该
Silly
类型设置一个断点,但它从未被命中,所以我无法弄清楚发生了什么。
我以前在其他项目中也这样做过,但由于某种原因,我遇到了障碍。
python - 如何使用 Hypothesis 的复合策略执行 Python 函数?
我正在尝试执行一个用Hypothesis装饰器装饰的函数@strategy.composite
。
我知道我可以使用@given
装饰器测试功能,例如 -
使用pytest - pytest <filename.py>
。
但是对于带有@strategy.composite
装饰器的功能,例如-
我无法以类似的方式执行测试。
使用 pytest 时,我无法执行测试(使用python
执行 python 文件什么也不做) -
我尝试添加函数调用test_foo()
,但我得到了同样的错误。
然后我尝试@given
在函数上方添加并得到一个不同的错误 -
如果我这样做@given()
- 请注意额外的大括号,相反,我会收到另一个错误 -
我尝试将代码包装在另一个函数中 -
但这也不起作用-
(我也尝试将demo
函数调用放在文件末尾,但这并没有以任何方式改变测试行为)
假设快速入门指南说调用该函数会起作用,但显然不起作用。(公平地说,文档没有指定如何使用 运行测试@composite
)
如何测试用 装饰的功能@strategy.composite
?我不必使用 pytest - 我宁愿不必实际使用它,但它似乎是测试功能(用 装饰@given
)最简单的方法,所以我决定走那条路。
python - 使用假设测试 Python 函数引发错误
有没有办法使用Hypothesis来检查 Python 函数在将一组特定的参数传递给它时是否引发错误?True
如在,如果函数失败并且不使测试执行停止并且函数标记为失败,我希望断言是。
java - Java中自定义有序列表的基于属性的测试
鉴于以下订购要求:
所有以“foo”开头的字符串都应该是第一个。
所有以“bar”开头的字符串都应该是最后一个。
不以“foo”或“bar”开头的字符串也可以出现在列表中。
如何使用基于属性的测试来测试上述需求的实现而不感到头疼?
有没有比以下更优雅的东西:
f# - 如何在 Expecto 上注册我自己的 FsCheck 生成器
我已经构建了生成三的倍数的生成器类型。我想在 Expecto 的测试中使用它。如何注册这个生成器并告诉我的测试使用它?
scala - 在 scalacheck 中生成递归结构
我正在尝试为名为Row
. 行是命名Val
s 的列表,其中 aVal
要么是原子的,要么Bin
是嵌套的Row
。
这是我的代码:
它因以下堆栈跟踪而崩溃:
我的代码有什么问题,我自己诊断它的最佳方法是什么?
作为说明,我已经看到关于Gen.oneOf
严格和需要Gen.lzy
递归结构的评论。但是,如果在我的代码中包装了gen_val
inside of的定义,Gen.lzy(...)
那么我会得到堆栈溢出而不是当前的空指针异常。