我在我的nodejs代码中使用了html-pdf包(而不是Typescript)。现在,这个包有一个与toBuffer()函数链接在一起的create()函数。我正在使用Jest对我的代码进行单元测试,并希望模拟这个调用pdf.create(html).toBuffer()。
var pdf = require('html-pdf');
pdf.create(html).toBuffer(function(htmlToPdfError, buffer){
if (htmlToPdfError) {
reject(htmlToPdfError);
}
resolve(buffer.toString('base64'));
});编辑:我正在尝试使用我的规范文件中的以下代码来制作模块:
jest.mock('html-pdf', () => ({
create: jest.fn(() => {
return Promise.resolve();
})
}));这有助于我模拟create()函数,但我不知道如何在Promise.resolve中返回具有toBuffer函数的对象
发布于 2021-11-04 20:44:46
这样行得通吗?
然后断言您的"pdf“缓冲区包含"test string"?
jest.mock('html-pdf', () => ({
create: jest.fn(() => {
return Promise.resolve({
toBuffer: function(callback) {
callback(null, Buffer.from("test string", "utf-8"));
},
});
})
}));(我还没试过)
https://stackoverflow.com/questions/69838559
复制相似问题