【发布时间】:2016-01-24 09:27:21
【问题描述】:
考虑以下单元测试 sn-p:
(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"))
但这很奇怪,因为:(i) 在这个测试中有 1 个断言,但测试输出显示有 0,并且 (ii) 测试语句也说有 0 次失败,即使有 1 次失败。
我想这是因为 (is...) 断言在 go 块中。所以我的问题是,这是使用 core.async 功能进行单元测试的最佳方式吗?我缺少一些最佳实践吗?
【问题讨论】:
标签: unit-testing clojure clojurescript core.async