我正在尝试使用midje来测试未来,但我似乎无法让它发挥作用。
代码看起来像
(defn foo []
(let [f (future (bar))]
(baz @f))
通过类似
的测试(fact
(foo) => ..a..
(provided
(bar) => ..b..
(baz ..b..) => ..a..))
这失败了,说bar永远不会被调用。有什么方法吗?
答案 0 :(得分:1)
此代码显示midje测试等到解除引用未来的var,所以我认为带有期货的midje不是你的问题,而是你的序列函数中的其他
(defn foo []
(let [state (future (Thread/sleep 1000) (println "done") "done")]
@state
)
)
(fact "description of the fact"
"done" => (foo))
==>true
祝你好运!