Une autre solution consiste à spyOn le modèle prototype les fonctions.
Par exemple, cela fera MyModel.save() échec :
jest.spyOn(MyModel.prototype, 'save')
.mockImplementationOnce(() => Promise.reject('fail update'))
Vous pouvez utiliser mockImplementationOnce pour ne pas avoir à mockRestore l'espion. Mais vous pouvez également utiliser mockImplementation et utilisez quelque chose comme :
afterEach(() => {
jest.restoreAllMocks()
})
Testé avec "mongoose": "^4.11.7" et "jest": "^23.6.0" .