【发布时间】:2015-06-13 22:04:55
【问题描述】:
我有一个返回 (probably shimmed) ES6 承诺的函数,我想编写一个 Jasmine 测试来检查它是否成功解析并且解析的值是否正确。我该怎么做?
这是我目前找到的方式,但至少很无聊:
describe("Promises", function() {
it("should be tested", function(done) {
var promise = functionThatReturnsAPromise();
promise.then(function(result) {
expect(result).toEqual("Hello World");
done();
}, function() {
expect("promise").toBe("successfully resolved");
done();
});
});
});
还有一个名为 jasmine-as-promised 的库似乎很有帮助,但遗憾的是它在 Jasmine 2.0 中不起作用,因为它使用已被删除的 runs()。
是否已经为测试 Jasmine 2.0 中的 Promise 开发了任何舒适的解决方案?
【问题讨论】:
-
反馈会很好
-
我查看了 Mocha,但它似乎只支持最近的浏览器(例如 IE9/10+ 取决于断言库),我现在宁愿避免使用(另外,我必须将所有断言重写为新格式)。 itP 解决方案不是最吸引人的,但它可能会奏效;我还没有足够的时间来彻底测试它。我也在等待另一个库的帮助,该库旨在帮助测试 RSVP 承诺(ES6 Promises 基于 RSVP)github.com/jasmine-addons/jasmine_rsvp/issues/1
标签: javascript jasmine promise es6-promise