【发布时间】:2023-03-10 07:34:01
【问题描述】:
我有一个特定的功能,我正在尝试使用 Angular 进行测试。此函数返回一个承诺。尽管在我的测试中我设定了对承诺结果的期望,但 Jasmine 不会等待承诺被解决或拒绝。
警告:
错误:'Spec 'test' 没有预期。'
被测函数定义如下:
public validate(file: File): Promise<any[]> {
return new Promise((resolve, reject) => {
// Code
}
}
测试代码:
it(
test.description,
fakeAsync(() => {
// Doesnt wait for the following promise result:
importValidator.validate(test.testFile).then(
resolveValue => {
expect(Array.isArray(resolveValue)).toBe(true);
},
onReject => {
expect(test.resolve).toBeFalsy();
}
);
})
);
如何让 Jasmine 在测试期间等待验证承诺被解决/拒绝?当我让测试因预期未发生的事情而失败时,它实际上会在afterAll 中引发错误。
【问题讨论】:
标签: angular testing promise jasmine