问题标签 [test.check]

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 回答
65 浏览

testing - clojure.spec 检查是否会产生错误的输入?

使用clojure.spec ( org.clojure/clojurescript {:mvn/version "1.10.520"}),我有一个函数规范,它为其输入指定一个映射。

gen/generate并且gen/sample工作正常。cljs.spec.test.alpha/check但是使用应该是地图的输入调用错误,但传递了一个集合( Error: More than one element found in structure)。即,看起来规范系统正在生成错误的输入。

这是规范的错误吗?

酒吧规格

foo.cljs

虽然函数规范只声明了 A,但规范系统正在生成 B。

工作台

0 投票
3 回答
118 浏览

unit-testing - 如何在 test.check 中生成随机电子邮件地址?

我正在尝试将 gen/fmap 与两个随机字母数字字符串一起使用。然后我将它们与“@”连接并附加“.com”。但我在语法上苦苦挣扎。

第一次尝试:

但是 gen/fmap 只需要两个参数。

第二次尝试,我将第二部分分组也不起作用

编辑:我有一个部分解决方案。它会生成一个电子邮件地址,但 @ 之前和之后的部分是相同的。示例:john@john.com

这是部分解决方案

我写了 gen-full-string 因为空字符串""导致代码崩溃。由于我已经解析并计划制作验证功能,因此我不在乎空字符串。我想测试核心功能而不是边缘情况。一旦我实施了验证,我可能会删除 gen-full-string。所以电子邮件生成器会变成(gen/fmap #(str % "@" % ".com") gen/string-alphanumeric)

0 投票
2 回答
41 浏览

unit-testing - 如何编写生成器以使用 test.check 生成 alpha 字符串?

test.check 有一个内置的生成器gen/string-alphanumeric,但它没有 gen/string-alpha。如何制作一个仅由字母和数字组成的字符串的生成器?

0 投票
3 回答
69 浏览

clojure - 规范:部分覆盖地图规范中的生成器

假设我已经定义了一个规范,我想从中生成测试数据:

在生成测试数据时,我想覆盖 id 的生成方式,以确保它们来自较小的池以鼓励冲突:

有没有办法通过在我的测试代码中覆盖:customer/id生成器然后只使用来简化这一点(s/gen ::customer)?因此,类似于以下内容:

0 投票
2 回答
48 浏览

unit-testing - 如何为 test.check 生成随机密钥?

我正在使用 test.check 生成哈希图。我希望一个键是随机数字关键字这是我尝试过的

这适用于前两个键,但 gen/sample 返回最后一个键的函数而不是值。来自 gen/sample 的输出 {:16 1, :1041 "»", :clojure.test.check.generators.Generator@3daf97b7 "u"}