Estoy escribiendo pruebas usando Jest para el componente que usó chart.js para crear un gráfico de líneas. Recibo el siguiente error cuando estoy ejecutando las pruebas.
ReferenceError: ResizeObserver no está definido
290 | } 291 | ngAfterViewInit() { > 292 | this.chart = new Chart(this.chartRef.nativeElement, this.chartConfig); | ^ 293 | } 294 | 295 | ngOnInit() { at createResizeObserver (../../../node_modules/chart.js/dist/chart.js:2428:20) at DomPlatform.addEventListener (../../../node_modules/chart.js/dist/chart.js:2502:21) at _add (../../../node_modules/chart.js/dist/chart.js:7051:16) at attached (../../../node_modules/chart.js/dist/chart.js:7070:7) at Chart.bindResponsiveEvents (../../../node_modules/chart.js/dist/chart.js:7079:7) at Chart.bindEvents (../../../node_modules/chart.js/dist/chart.js:7023:12) at Chart._initialize (../../../node_modules/chart.js/dist/chart.js:6547:8) at new Chart (../../../node_modules/chart.js/dist/chart.js:6512:8)
ResizeObserver está siendo utilizado internamente por chart.js y no lo estoy usando explícitamente en ninguna parte. ¿Alguien tiene una solución para esto?
¿Está utilizando la biblioteca use-resize-observer ( https://www.npmjs.com/package/use-resize-observer ) o el resize-observer ( https://www.npmjs.com/package/@react -gancho/redimensionar-observador )?
Si su prueba falla en un componente que usa la biblioteca use-resize-observer , debe simular el servicio en su archivo de prueba (si está usando React):
jest.mock('use-resize-observer', () => ({ __esModule: true, default: jest.fn().mockImplementation(() => ({ observe: jest.fn(), unobserve: jest.fn(), disconnect: jest.fn(), })), }));Veo que usa Angular, por lo que esta publicación debería ser útil: prueba Angular11: ReferenceError: ResizeObserver no está definido
window.ResizeObserver = window.ResizeObserver || jest.fn().mockImplementation(() => ({ disconnect: jest.fn(), observe: jest.fn(), unobserve: jest.fn(), })); describe('', () => { // test ... });