【发布时间】:2020-04-21 01:04:37
【问题描述】:
我有一个来自 nestjs/common 的 httpService
我正在使用如下:
const response = await this.httpService.post(`${this.api}/${action}`, data).toPromise();
在我的笑话规范文件(单元测试)中。我正在尝试模拟这项服务
httpServiceMock = {
post: jest.fn()
};
it('should start', async () => {
const serviceResult = await service.start(data);
});
我收到了这个错误:
TypeError: this.httpService.post(...).toPromise is not a function
我也在尝试添加一个类似的承诺结果:
const promise = Promise.resolve('result');
httpServiceMock.post.mockResolvedValue(promise);
也试过了:
it('should start', async () => {
const mockObservable = Promise.resolve({
toPromise: () => {
console.log('toPromise called');
}
})
httpServiceMock.post.mockImplementation(() => mockObservable);
const serviceResult = await service.start();
});
我的问题是如何模拟承诺并返回响应或异常
【问题讨论】:
标签: node.js promise jestjs nestjs