2024 年 Clojure 状态调查!中分享您的想法。

欢迎!请参阅关于页面获取更多关于如何使用本站的信息。

0
规范
在检查范围内覆盖函数规范是有好处的。

例如


(require '[clojure.spec.alpha :as s])
(require '[clojure.spec.test.alpha :as stest])

(defn a [x])

(s/fdef a
        :args (s/cat :x int?)
        :fn (fn [_] true))

(s/fdef b
        :args (s/cat :x int?)
        :fn (fn [_] false))

;; 应该通过
(stest/check `a)

(stest/instrument `a {:spec {`a `b}})
;; 应该失败
(stest/check `a)

;; 类似的应该失败的情况

(stest/instrument `a {:spec {`a (s/fspec :args (s/cat :x int?) :fn (fn [_] false))}})
(stest/check `a)

(stest/instrument `a {:spec {`a (s/get-spec `b)}})
(stest/check `a)

1 答案

0
...