我有一个返回 ( probably shimmed) ES6 promise 的函数,我想编写一个 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 的解决方案?
最佳答案
这里的聚会有点晚了,但以防其他人发现这个问题(我也是)- 这是一个新的答案:使用我的 ' jasmine-es6-promise-matchers ' 成分。使用它,您上面的测试将如下所示:
var promise = functionThatReturnsAPromise();
expect(promise).toBeResolvedWith("Hello World");
它在 Bower 和 NPM 上可用(只需安装 jasmine-es6-promise-matchers
)。
关于javascript - 如何使用 Jasmine 2.0 测试 ES6 Promise?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25342129/