【发布时间】:2019-10-23 13:51:15
【问题描述】:
我想使用 clojure 规范来检查我的函数的输入(至少在开发期间)。到目前为止,我已经完成了以下工作:我已经定义了规范,并在函数的开头放置了如下示例中的断言:
(defn foo [bar]
(s/assert ::bar bar)
(do-something-with bar))
其中s 是clojure.spec.alpha 的别名。默认情况下,这些断言似乎被禁用(使用 midje 运行单元测试时)。我可以通过将(s/check-asserts true) 放入我的一个文件来启用它们。不过,我不确定这个设置的范围是什么。将它简单地放入源文件之一对我来说感觉不对,尽管到目前为止它似乎对我有用。
在测试期间全局启用这些断言但在部署应用程序时禁用它们的推荐方法是什么?
【问题讨论】:
标签: clojure clojure.spec