欢迎!请查看 关于 页面了解更多关于如何使用的信息。
我如何使用这个功能来检查函数在给定的 spec 和 request 下是否有效?
定义一个辅助函数会有所帮助,例如:
(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