我编写了一个规范来表示验证结果,对于无效的项,我包括了s/explain-data报告的问题列表。
我有一些类似的东西
(s/def ::invalid-item (s/keys :req [::path :clojure.spec.alpha/problems]))
但这导致一些生成测试失败,因为 对于clojure.spec.alpha/problems
没有定义规范
> 执行错误在 clojure.alpha.spec/reg-resolve! (spec.clj:90)。
无法解析规范::clojure.spec.alpha/problems
尽管我可以或许推断出规范并在自己的命名空间中定义它,但我之前期望规范是存在的,这是一个公平的假设吗?
在您的规范中使用:clojure.spec.alpha/problems 是良好的实践,还是应该将其转换为您的规范?