gpt4 book ai didi

javascript - Promise.resolve().then 在 Jasmine 测试中不起作用

转载 作者:行者123 更新时间:2023-11-28 18:33:33 24 4
gpt4 key购买 nike

我正在尝试设置一个涉及 promise 的测试。这是我的示例代码:

var promise;

beforeEach(inject(function ($q) {
promise = $q.resolve();
}));

it('should resolve', function (done) {
promise.then(function () {
expect(true).toBeTruthy();
done();
});
});

出于某种原因,当我运行此程序时,我遇到超时

Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.

为什么 Promise 不执行给 then 的回调?

干杯

最佳答案

您需要调用scope/rootScope $digest方法来解析promise。所以应该是:

var result = false;
promise.then(function() { result = true;});
$rootScope.$digest();
expect(result).toBeTruthy();

关于javascript - Promise.resolve().then 在 Jasmine 测试中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37529264/

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