我想为我的一个小项目编写一些规范,并且担心如何为一个没有提供任何参数传递给它的函数编写规范。
我想为这个特定的函数编写规范:
(defn get-total-pages []
(int (Math/ceil (/ (count (get-posts)) posts-per-page))))假设posts-per-page在一个页面上发布,它会计算总的页面数量。该函数本身运行良好,但添加以下规范时:
(s/fdef get-total-pages
:args ()
:ret int?)在没有警告的情况下,我无法对其执行任何stest/check:
:clojure.spec.test.check/ret {:result #error {
:cause "Unable to construct gen at: [] for: clojure.spec.alpha$spec_impl$reify__2059@1232bda3"
...当不使用:args映射时,spec告诉我缺少:args,所以这里是我的最后一个问题:我如何规范一个不提供参数的函数?
发布于 2020-05-09 01:44:25
可以将无参数函数的:args列表指定为空的s/cat规范:
(s/fdef get-total-pages
:args (s/cat)
:ret int?)https://stackoverflow.com/questions/61683700
复制相似问题