欢迎!请查阅关于页面以获取更多关于此如何工作的信息。
我该如何使用此特性来检查一个函数在给出
定义一个辅助函数,例如
(defn speccheck [fn-to-check options] (let [results (t/check [fn-to-check] options)] (if (some :failure results) (do (println "\nFailed specs:") (doseq [result results :when (:failure result)] (println (:sym result)) (pprint (or (ex-data (:failure result)) (:failure result))))) true))) (deftest my-fun-test (is (speccheck `this/is-my-fn {}))) ; pass options to t/check as needed
这有助于在失败情况下打印失败消息。
您还可以使用 expound 进行报告
(defn is* [results] (assert (seq results)) (test/is (if (some :failure results) (exp/explain-results results) true)))
使用方法
(is* (stest/check `ns/fn))
注意:如果该函数没有规范,则会失败 assert。
assert