首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Jest模拟html-pdf

使用Jest模拟html-pdf
EN

Stack Overflow用户
提问于 2021-11-04 11:30:32
回答 1查看 175关注 0票数 0

我在我的nodejs代码中使用了html-pdf包(而不是Typescript)。现在,这个包有一个与toBuffer()函数链接在一起的create()函数。我正在使用Jest对我的代码进行单元测试,并希望模拟这个调用pdf.create(html).toBuffer()

代码语言:javascript
复制
var pdf = require('html-pdf');
pdf.create(html).toBuffer(function(htmlToPdfError, buffer){
  if (htmlToPdfError) {
    reject(htmlToPdfError);
  }
  resolve(buffer.toString('base64'));
});

编辑:我正在尝试使用我的规范文件中的以下代码来制作模块:

代码语言:javascript
复制
jest.mock('html-pdf', () => ({
    create: jest.fn(() => {
        return Promise.resolve();
    })
}));

这有助于我模拟create()函数,但我不知道如何在Promise.resolve中返回具有toBuffer函数的对象

EN

回答 1

Stack Overflow用户

发布于 2021-11-04 20:44:46

这样行得通吗?

然后断言您的"pdf“缓冲区包含"test string"?

代码语言:javascript
复制
jest.mock('html-pdf', () => ({
  create: jest.fn(() => {
    return Promise.resolve({
      toBuffer: function(callback) {
        callback(null, Buffer.from("test string", "utf-8"));
      },
    });
  })
}));

(我还没试过)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69838559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档