请在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做出的

编辑:将动机移动到问题的“描述”中。

0

评论由:alexmiller做出的

从这个角度重写票证是一个好开始。

0

评论由:vitoshka做出的

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

0

评论由:alexmiller做出的

对此表示歉意!我已经赋予了您编辑权限。

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