问题标签 [generative-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.

0 投票
1 回答
469 浏览

clojure - 需要帮助了解为什么当 REPL 未失败时 Clojure 规范测试/检查未通过返回验证

我一直在使用 Clojure Spec 进行测试和数据生成,并且看到一些奇怪的行为,其中该函数在单元测试中有效,而在 REPL 中验证有效,但使用 spec.test/check 的生成测试失败。

我创建了一组这样的规范:

和 fn 实现:

在 REPL 中,我看到了我期望从规范的生成和测试中看到的内容:

但我不明白为什么我从测试/检查中看到这个:

感觉它与生成器 fn 组合有关,尽管返回的对象现在对我来说看起来“不错”。

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。

工作台