2013-11-22 205 views
1

我正在尝试使用midje来测试未来,但似乎无法使其工作。如何在clojure中测试期货?

代码看起来像

(defn foo [] 
    (let [f (future (bar))] 
    (baz @f)) 

与测试样

(fact 
    (foo) => ..a.. 
    (provided 
    (bar) => ..b.. 
    (baz ..b..) => ..a..)) 

这个失败,他说,巴不会被调用。任何方式在这个?

回答

1

此代码显示了midje测试等到提领未来变种,所以我觉得midje与期货是不是你的问题,但在序列功能的其它你有

(defn foo [] 
    (let [state (future (Thread/sleep 1000) (println "done") "done")] 
     @state 
    ) 

) 
(fact "description of the fact" 
     "done" => (foo)) 
==>true 

祝你好运!

+0

你是完全正确的。我在其他地方有一个错误。谢谢! – aciniglio