私はsharpを模擬しようとしていると私はこれを持っている:Jest Mocking - このモジュールを模擬するにはどうすればいいですか?
// /__mocks__/sharp.js
const Sharp = jest.genMockFromModule('sharp')
Sharp.prototype.jpeg = function (options) { return this }
Sharp.prototype.trim = function (options) { return this }
Sharp.prototype.normalise = function (bln) { return this }
Sharp.prototype.background = function (colour) { return this }
Sharp.prototype.embed = function() { return this }
Sharp.prototype.clone = function() { return this }
Sharp.prototype.resize = function (width, height) { return this }
Sharp.prototype.toBuffer = function() {
return Buffer.from('')
}
export default Sharp
I import sharp from 'sharp'
とconsole.log(sharp)
は私が取得する場合:
function Sharp() {return mockConstructor.apply(this,arguments);}
が右に思え
、それは私のモックモジュールではなく、本当のを発見していますモジュール。あなたはこのようsharp
を使用します。私は私の嘲笑モジュールを使用して、テストコードからsharp()
を呼び出すとき
const sharpImage = sharp(input, options).jpeg(options).trim()
const myImageBuff = await sharpImage.toBuffer()
は、しかし、それは価値だというinstanceof sharp
より、undefined
です。
私はconst Sharp = jest.genMockFromModule('sharp')
をfunction Sharp (input, options) { return this }
に置き換えようとしましたが、違いはありません。
私は何が間違っていますか?