Plaisanter. Comment simuler la console lorsqu'elle est utilisée par une bibliothèque tierce?

J'essaie de simplifier console.warn / error mais je ne peux pas. J'utilise une bibliothèque tierce qui appelle console.warn en elle. J'ai besoin de tester, c'était appelé ou non. Dans mon cas de test, j'ai essayé de stub console.warn mais cela n'a pas aidé. Après cela, j'essayais de simuler la console manuellement, cela ne fonctionnait pas non plus.

console.warn = jest.fn(); testSchema('/app/components/Users/UserItem/UserItemContainer.js'); expect(console.warn).toBeCalled(); 

N'a pas fonctionné

 console.warn = jest.fn(); testSchema('/app/components/Users/UserItem/UserItemContainer.js'); console.warn('error'); expect(console.warn).toBeCalled(); 

A travaillé. Mais je vois encore la console.warn node_modules/babel-relay-plugin/lib/getBabelRelayPlugin.js:138 dans le terminal. Quelqu'un peut-il m'aider?

Vous devez utiliser global pour accéder aux objets dans le contexte global

 global.console = {warn: jest.fn()} expect(console.warn).toBeCalled() 

Ou utilisez jest.spyOn ajouté en 19.0.0

 jest.spyOn(global.console, 'warn')