javascript - update - Broma. ¿Cómo simular una consola cuando la utiliza una biblioteca de terceros?
what is snapshot testing (1)
Estoy intentando burlar console.warn / error pero no puedo. Uso una biblioteca de terceros que llama a console.warn dentro de ella. Necesito probar como se llamaba o no estaba. En mi caso de prueba, estaba tratando de rechazar la consola.warn pero no ayudó. Después de eso estaba intentando burlarme de la consola manualmente, tampoco funcionó.
console.warn = jest.fn();
testSchema(''/app/components/Users/UserItem/UserItemContainer.js'');
expect(console.warn).toBeCalled();
no funcionó
console.warn = jest.fn();
testSchema(''/app/components/Users/UserItem/UserItemContainer.js'');
console.warn(''error'');
expect(console.warn).toBeCalled();
funcionó Pero sigo viendo console.warn node_modules/babel-relay-plugin/lib/getBabelRelayPlugin.js:138
en el terminal. ¿Alguien puede ayudarme?
Tienes que usar global
para acceder a objetos en el contexto global
global.console = {warn: jest.fn()}
expect(console.warn).toBeCalled()
o usar jest.spyOn
añadido en 19.0.0
jest.spyOn(global.console, ''warn'')