引入 core.spec 后 :pre & :post defn 条件是否过时了?
Did :pre & :post defn conditions become obsolete after core.spec was introduced?
我是 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
检查在函数执行时应用 always。
我喜欢的另一个工具是 tupelo.core/validate
上的 Plumatic Schema function validate
. You can find a similar (but better) function。
如官方文档所述,您可以同时使用两者:
https://clojure.org/guides/spec#_using_spec_for_validation
我是 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
检查在函数执行时应用 always。
我喜欢的另一个工具是 tupelo.core/validate
上的 Plumatic Schema function validate
. You can find a similar (but better) function。
如官方文档所述,您可以同时使用两者: https://clojure.org/guides/spec#_using_spec_for_validation