我有一个从AMPQ消息总线中提取消息的函数:
(defn get-message [queue client]
(let [msg (mq/get-message client queue)]
(if msg
(logit msg))))
mq/get-message和logit都是副作用,一个依赖于网络访问,另一个依赖于本地机器上的磁盘IO。
在Clojure中,有没有一种惯用的方法来对副作用进行单元测试?我的第一反应是使用mocks/stubs,但如果有更好的方法就最好了。