【发布时间】:2020-11-10 17:58:29
【问题描述】:
是否有一种简洁的方法可以在测试代码中添加适用于另一个源文件中定义的规范的规范生成器?例如,假设我的主 src/ 目录下有以下内容:
(s/fdef my-func
:args (s/cat
:statement (partial instance? java.sql.PreparedStatement))
:ret bool?)
为了进行生成测试,我需要一个用于 statement 参数的生成器,比如生成模拟语句的生成器,但我宁愿不将测试代码与生产代码混合,也不让使用该库的其他项目也传递地拉测试库。
所以我正在寻找的是一种约定,可以在现有规范之上应用生成器,而无需修改该规范的源代码。
【问题讨论】:
-
由于规范使用全局注册表,所以最有可能最后编写规范是要走的路
标签: clojure clojure.spec