我认为我多次做过类似的事情
(is (= some-map (try (func ...) (catch Exception e (ex-data e))
不确定这个问题是否已经被提出过,但有没有人会对以下形式感兴趣?
(defmethod assert-expr 'thrown-with-data? [x form]
来检查异常的数据映射?
一个复杂性在于字符串有一个简单的方式进行部分匹配:正则表达式。集合没有这种通用的匹配器,因此没有明显的输入。选项可以是接受映射并返回 true 或 false 的单个参数函数,类似于正则表达式。或者只允许与某个值进行比较?也许是一个规范?
显然这里有很多设计选择,不确定这是否意味着让它由单个用户决定,或者是否有 clojure.test 的空间或兴趣。