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

欢迎!有关如何使用此工具的更多信息,请参阅 关于 页面。

0
Spec
重放


(s/def :ex/f fn?)
(s/def :ex/m (s/keys :opt [:ex/f]))
(s/fdef my-fn
        :args (s/cat :m :ex/m))
(defn my-fn [f])
(clojure.spec.test.alpha/check `my-fn)


实际:  抛出异常 - "无法在[:m :ex/f]构造生成器,因为:ex/f"

预期:应返回一个包含失败值的结果。如果您将键规范中的 ":opt" 替换为 ":req",则会发生这种行为。

我期望这个值包含这样的失败


(ex-data (:result (:clojure.spec.test.check/ret (first (clojure.spec.test.alpha/check `my-fn))))) ;; => #:clojure.spec.alpha{:path [:m :ex/f], :form :ex/f, :failure :no-gen}

1 答案

0
参考:https://clojure.atlassian.net/browse/CLJ-2348(由 bbrinck 报告)
...