Uso super.catch dentro de catch de la clase derivada. Y el código funciona bien cuando hago pruebas manuales. Pero cuando ejecuto pruebas unitarias de broma, dice que super no está definido. ¿Alguien sabe por qué? ¿Y cómo se puede arreglar?
Ejemplo de código:
export class CustomExceptionsFilter extends BaseExceptionFilter { catch(exception: Error | HttpException, host: ArgumentsHost) { logger.error(exception); super.catch(exception, host); } }Ejemplo de prueba unitaria:
beforeEach(async () => { filterInstance = new CustomExceptionsFilter(); host = mockArgumentsHost; }); it('Test', async () => { const baseClassSpy = jest.spyOn(CustomExceptionsFilter.prototype, 'catch'); const httpException = new HttpException('Test exception', 404); filterInstance.catch(httpException, host); expect(baseClassSpy).toHaveBeenCalled(); });error me sale:
TypeError: Cannot read properties of undefined (reading 'reply') 35 | 36 | logger.error(exception); > 37 | super.catch(exception, host); | ^ 38 | } 39 | }