2013-11-22 150 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