2024 年 Clojure 调查问卷 中分享您的想法!

欢迎!请参阅 关于 页面了解更多有关此网站如何工作的信息。

0 投票
Spec

提供断言上下文额外信息的常见需求。例如,可能想要将局部或动态绑定值包含在断言报告中,或者在测试环境之外使用 clojure.spec/assert 利用具有 {{specs}} 的结构化错误。

使用 {{clojure.core/assert}} 可以将额外数据拼接到格式化消息中,但使用 {{clojure.spec/assert}} 没有这样的功能。Clojure 的 {{assert}} 消息参数是在 CLJ-774 中添加的,并承认该机制并非理想。将报告作为数据传递的一个显著优点是编辑器可以优雅地处理大量数据。

此提议与 CLJ-415 相关,但范围更广。使用一个额外的映射,可以传递任何值(不仅仅是局部值),且不存在意外将大量局部值洪水式地输入到 REPL 中的风险。

6 答案

0 投票

评论由:alexmiller 发表

你能从这个例子开始,说明你正在尝试做什么,这样可以有用吗?这里的标题是一个解决方案,但我们发现从问题开始,考虑到替代方案,然后选择解决方案是最好的做法。

0 投票

评论由:vitoshka 发表

EDITED:将动机移动到问题的“描述”部分。

0 投票

评论由:alexmiller 发表

从这个角度重写工单将是一个好的开始。

0 投票

评论由:vitoshka 发表

我很乐意重写,但Jira不允许编辑描述。

0 投票

评论由:alexmiller 发表

对此表示歉意!我已经给予你编辑权限。

0 投票
参考:https://clojure.atlassian.net/browse/CLJ-2223 (由 vitoshka 报告)
...