2017-09-21 2 views
0

Ich versuche sharp zu verspotten, und ich habe dies:Scherzspott - Wie mache ich dieses Modul ..?

// /__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 

Als ich import sharp from 'sharp' und console.log(sharp) erhalte ich:

function Sharp() {return mockConstructor.apply(this,arguments);}

rechts scheint, ist es meine Mock-Modul gefunden, nicht die reale Modul.

Sie verwenden sharp wie folgt aus:

const sharpImage = sharp(input, options).jpeg(options).trim() 
const myImageBuff = await sharpImage.toBuffer() 

Allerdings, wenn ich sharp() von Test-Code aufrufen, mein spotten Modul verwenden, ist es Wert undefined ist, eher als ein instanceof sharp.

Ich habe versucht, const Sharp = jest.genMockFromModule('sharp') durch function Sharp (input, options) { return this } zu ersetzen, aber das macht keinen Unterschied.

Was mache ich falsch ..?

Antwort

Verwandte Themen