2017-09-21 11 views
0

私は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 }に置き換えようとしましたが、違いはありません。

私は何が間違っていますか?

答えて