gpt4 book ai didi

javascript - 如何使用 Jasmine 2.0 测试 ES6 Promise?

转载 作者:行者123 更新时间:2023-11-30 08:42:12 25 4
gpt4 key购买 nike

我有一个返回 ( 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com