我是 Clojure 的新手,乍一看,core.spec 做了 :pre & :post defn 条件用于 PLUS 的所有操作。
我知道 core.spec 是很晚才引入的(并且仍处于 alpha/beta 阶段),并且 :pre & :post defn 条件存在的时间要长得多 - 也许这就是为什么 pre/post 仍然不被视为过时方法的原因?
是否有 :pre/:post 提供的东西是我无法从 core.spec 获得的?
谢谢
最佳答案
很多人更喜欢 Plumatic Schema到 Clojure Spec(两者都有其优点)。 clojure.test.check
也非常强大。
这里的要点是,上述所有内容仅适用(通常)运行单元测试时。当函数执行时,:pre
和 :post
检查始终应用。
我喜欢的另一个工具是 Plumatic Schema函数验证
。您可以找到similar (but better) function在tupelo.core/validate
。
关于clojure - :pre & :post defn conditions become obsolete after core.规范是否被引入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60909581/