gpt4 book ai didi

javascript - 测试函数不能同时接受 'done' 回调

转载 作者:行者123 更新时间:2023-12-05 00:24:41 24 4
gpt4 key购买 nike

我正在尝试使用nestjs创建一个简单的测试,但我收到了这个错误

Test functions cannot both take a 'done' callback and return something. Either use a 'done' callback, or return a promise.

Returned value: Promise {}


单元测试很简单,但是当我使用 done(); 时出现错误。
it('throws an error if user signs up with email that is in use', async (done) => {
fakeUsersService.find = () => Promise.resolve([{ id: 1, email: 'a', password: '1' } as User]);
try {
await service.signup('asdf@asdf.com', 'asdf');
} catch (err) {
done();
}
});

最佳答案

您正在结合 Async/Await 和 Done。
要么使用 asnyc/await,要么完成。

it('throws an error if user signs up with email that is in use', async () => {
try {
await service();
expect(...);
} catch (err) {
}
});
或使用 done 格式
it('throws an error if user signs up with email that is in use', (done) => {
...
service()
.then( ...) {}
.catch( ...) {}
}
done();
});

关于javascript - 测试函数不能同时接受 'done' 回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70884240/

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