如何用Jest模拟请求回调

问题描述

我正在开玩笑地模拟请求回调,但无法模拟

这是我的职责

await requestPromise.get(options,((err,resp) => {
    if (err) {
        throw err;
    }
    if (resp && resp.headers['content-disposition']) {
        res.setHeader('Content-type','application/pdf');
        res.setHeader('content-disposition',resp.headers['content-disposition']);
        const pdfFile = Buffer.from(resp.body);
        res.send(pdfFile);
    }
})).catch((err: Error) => {
        throw err;
});

在我的测试中,我像通过了此测试一样在嘲笑,但是在覆盖率报告中,这些行未被测试覆盖

it('should download document',inject([PdfDocService,Res],async (service: PdfDocService,res: Res) => {

    const mockResp = {
        body: {},headers: { 'content-disposition': 'attachment; filename="Sathish_test.pdf"' },};
    jest.spyOn(requestPromise,'get').mockResolvedValue(mockResp);
    await service.downloadPdf(documentId,res);
}));

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)