Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

189
Vistas
Respuesta simulada express en nestjs

tengo un controlador simple

 export class AppController { constructor(private readonly appService: AppService) {} @Get() getHello(@Res() res: Response) { return res.json({"messagge":"this.appService.getHello()"); } }

y quiero probarlo con prueba unitaria.

 import { Test, TestingModule } from '@nestjs/testing'; import { AppController } from './app.controller'; import { AppService } from './app.service'; import { Response } from 'express'; describe('AppController', () => { let appController: AppController; let responseObject = { message: 'This is a simple example of item returned by your APIs.' }; const response: Partial<Response> = { json: jest.fn().mockImplementation((result) => { responseObject = result; }) } beforeEach(async () => { const app: TestingModule = await Test.createTestingModule({ controllers: [AppController], providers: [AppService], }).compile(); appController = app.get<AppController>(AppController); }); describe('root', () => { it('should return my string', () => { let res = appController.getHello(response as Response); console.log("RES",res); }); }); });

Necesito burlarme de Response, pero me quedo indefinido.

ACTUALIZAR

 import { Test, TestingModule } from '@nestjs/testing'; import { AppController } from './app.controller'; import { AppService } from './app.service'; import { Response } from 'express'; describe('AppController', () => { let appController: AppController; let responseObject = { status: 200, message: 'Hello World!' }; const response: Partial<Response> = { status: jest.fn().mockImplementation().mockReturnValue(200), json: jest.fn().mockImplementation().mockReturnValue(responseObject), } beforeEach(async () => { const app: TestingModule = await Test.createTestingModule({ controllers: [AppController], providers: [AppService], }).compile(); appController = app.get<AppController>(AppController); }); describe('root', () => { it('should return "Hello World!"', () => { let res = appController.getHello(response as Response); expect(res).toEqual(response.json()) }); }); });

Modifiqué mi código como se indicó anteriormente, pero ahora recibo siempre hola mundo incluso si mi controlador tiene un valor diferente

 @Get() getHello(@Res() res: Response) { return res.json({"message":"KO"}); // return res.status(HttpStatus.OK).json(this.appService.getHello()); }
about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda