0
(全本示例代碼的CoffeeScript)嘗試和失敗茉莉測試承諾
我有一個通用的承諾,像這樣:
describe "foo",() ->
it "foo",() ->
p = new Promise (r) -> r(1)
p.then (x) ->
console.log("promise run")
expect(x).toEqual(2)
預計這將失敗,但它不」噸。期望從未被擊中,也沒有任何記錄。
從the jasmine team's blog post on the topic看來我可以寫這樣的事:
p.then (x) ->
expect(x).toEqual(2)
done()
,但它具有相同的效果。
的博客文章建議mock-promises庫,這在我以前寫:
p.then (x) ->
console.log x
expect(x).toEqual(2)
MockPromises.executeForPromise(p);
,但它具有相同的效果(期望是從不打)
如果您的測試跑步者仍然不接受承諾作爲2016年的回報值,那麼可能是時候改變它(或只是更新?) – Bergi
protip:'p = Promise.resolve 1' – Bergi
@bergi,你有看到我已經爲自己發佈了一個答案?這可能是我錯過了一些非常小的事情。無論如何,你有沒有比茉莉花更好的測試庫的建議? –