MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Modèle de mangouste moqueur avec plaisanterie

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