2
考慮以下單元測試片段:這是測試core.async功能的可接受方式嗎?
(deftest async-test
(testing "Testing some core.async functionality."
(go (is (= (<! (go "val")) "val1")))))
運行測試收率:
Ran 1 tests containing 0 assertions. 0 failures, 0 errors.
FAIL in() (at repl:253:51) expected: (= (<! (go "val")) "val1")
actual: (not (= "val" "val1"))
但因爲這是奇怪:(ⅰ)有1個斷言在該試驗中,還測試輸出說有0,並且(ii)測試語句也說有0次失敗,即使有1次失敗。
我想這是因爲(is...)
聲明是在一個去塊。所以我的問題是,這是使用core.async功能進行單元測試的最佳方式嗎?這裏有一些我錯過的最佳做法嗎?
我在例如使用ClojureScript(所以不能用'<!')。第二個代碼片段的問題在於它使用了一個go塊外面的<!',這是非法的。有沒有其他的方法呢? – George
它的工作原理 - 非常感謝將我指向「異步」宏的方向! – George