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 ..?