我编写了以下 Midje 测试:
(fact (followers-minus-friends ...name...) => ["Dude"]
(provided (idset show-followers ...name...) => #{1 2 3}
(idset show-friends ...name...) => #{1 2}
(userinfos #{3}) => [{:screen_name "Dude"}]))
测试以下函数(在不同的命名空间中):
(defn followers-minus-friends [screenname]
(let [difference-ids (difference (idset show-followers screenname)
(idset show-friends screenname))
userinfos (userinfos difference-ids)]
(map :screen_name userinfos)))
该测试可能看起来毫无用处,但我只是想习惯 Midje。不知何故,函数 idset 刚刚被执行,我想通过在提供的子句中提供返回值来防止这种情况。对此有何解释?
编辑:我已将项目上传到 Github,以防您想尝试重现上述情况:https ://github.com/Borkdude/twitter-utils