我是Clojure的新手,从我看到的core.spec看来,乍一看,它所做的一切:pre和:post defn条件都用于PLUS。
我知道core.spec是在很晚才引入的(并且仍处于alpha / beta阶段),并且:pre和:post defn条件存在的时间更长-也许这就是为什么pre / post仍然不被认为是过时的方法的原因?
是否有从core.spec无法获得的:pre /:post提供的东西?
谢谢
[很多人都喜欢Plumatic Schema而不是Clojure Spec(两者都有其长处)。 clojure.test.check
也非常强大。
这里的要点是,在运行单元测试时,以上所有仅适用(通常)。函数执行时,:pre
和:post
检查适用always。
[我喜欢的另一个工具是Plumatic Schema功能validate
。您可以在similar (but better) function处找到一个tupelo.core/validate
。