我想使用clojure规范来检查功能的输入(至少在开发过程中)。到目前为止,我已经执行了以下操作:我已经定义了规范,并且在函数的开头我像下面的示例一样放置了断言:
(defn foo [bar]
(s/assert ::bar bar)
(do-something-with bar))
s
的别名在哪里clojure.spec.alpha
。默认情况下,这些断言似乎处于禁用状态(使用midje运行单元测试时)。我可以通过将其(s/check-asserts true)
放入我的文件之一来启用它们。不过,我不确定此设置的范围。即使到目前为止它似乎仍然对我有用,但将其简单地放入源文件之一对我来说是错误的。
在测试期间全局启用这些断言但在部署应用程序时将其禁用的推荐方法是什么?
调用此函数是全局启用规格的正确方法。如果要为所有测试全局启用它,我会将其放在所有测试所需的全局测试帮助文件的顶部。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句