欢迎!请查看关于页面,了解更多关于这个工作方式的信息。
我如何使用这个特性来检查一个函数在给定的
定义一个辅助函数可能会有帮助,例如
(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