您好,我只是想尝试使用jest来激活我的图像最小模块,我遇到的问题是当使用imagemin时它会在子进程中创建自己的tmp文件夹,因为我正在使用mock- FS。所以我想要做的就是在模块中有一个函数返回一个预定的结果,然后将其传递给另一个函数。
到目前为止我的笑话
it('Should compress jpg', () => {
expect.assertions(1);
let mock = jest.fn();
mock.mockReturnValueOnce(true);
utility.compress = mock;
let opts = {};
let dest = './tmp/dest/img';
let file = path.join(dest, 'jpeg_img.jpg');
return utility.imageCompress(['./dummy_data/img/*.jpg'], dest, opts)
.then(data => {
expect(data).toEqual([]);
expect(fs.existsSync(file)).toBe(true);
expect(fs.statSync('./dummy_data/img/jpeg_img.jpg').size)
.toBeLessThan(fs.statSync(file).size);
});
});
因此utility.imageCompress
会调用compress function
我正在导出该函数,但我仍然得到utility.compress.mockImplementation is not a function
。
任何帮助都会非常感谢