もう1つの解決策は、spyOnです。 モデルのprototype 機能。
たとえば、これによりMyModel.save()が作成されます 失敗:
jest.spyOn(MyModel.prototype, 'save')
.mockImplementationOnce(() => Promise.reject('fail update'))
mockImplementationOnceを使用できます mockRestoreをする必要がないようにします スパイ。ただし、mockImplementationを使用することもできます :
afterEach(() => {
jest.restoreAllMocks()
})
"mongoose": "^4.11.7"でテスト済み および"jest": "^23.6.0" 。