Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

140
Views
Las pruebas de Nest.js no pueden anular al proveedor

Tengo un problema con la anulación del proveedor en la aplicación nest.js para realizar pruebas. Mi stats.controller.spec.ts:

 import { StatsService } from './services/stats.service'; import { StatsController } from './stats.controller'; describe('StatsController', () => { let controller: StatsController; const mockStatsService = {}; beforeEach(async () => { const module: TestingModule = await Test.createTestingModule({ controllers: [StatsController], providers: [StatsService], }) .overrideProvider(StatsService) .useValue(mockStatsService) .compile(); controller = module.get<StatsController>(StatsController); }); it('should be defined', () => { expect(controller).toBeDefined(); }); });

Mi stats.controller.ts:

 import { Controller, Get } from '@nestjs/common'; import { StatsService } from './services/stats.service'; @Controller('stats') export class StatsController { constructor(private statsService: StatsService) {} @Get('weekly') getWeeklyStats() { return this.statsService.getWeeklyStats(); } @Get('monthly') getMonthlyStats() { return this.statsService.getMonthlyStats(); } }

Y mi stats.service.ts:

 import { Injectable } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; import { Repository } from 'typeorm'; import { Trip } from 'src/trips/trip.entity'; import { from, map } from 'rxjs'; import { DatesService } from 'src/shared/services/dates.service'; @Injectable() export class StatsService { constructor( @InjectRepository(Trip) private tripRepository: Repository<Trip>, private datesServices: DatesService, ) {} //some code here }

Y después de ejecutar la prueba, obtengo los siguientes errores: No se puede encontrar el módulo 'src/trips/trip.entity' de 'stats/services/stats.service.ts' Realmente agradecería algo de ayuda.

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

El error no está relacionado con si está utilizando un proveedor personalizado o overrideProvider . Por defecto, Jest no entiende las importaciones absolutas, y necesitas usar la opción moduleNameMapper para decirle a Jest cómo resolver src/ imports. Usualmente algo como

 { "moduleNameMapper": { "^src/(.*)$": "<rootDir>/$1" } }

Suponiendo rootDir se ha establecido en src

about 4 years ago · Juan Pablo Isaza Report

0

Puede anular el proveedor utilizando el siguiente código en nest js:

 import { StatsService } from './services/stats.service'; import { StatsController } from './stats.controller'; describe('StatsController', () => { let controller: StatsController; const mockStatsService = {}; beforeEach(async () => { const module: TestingModule = await Test.createTestingModule({ controllers: [StatsController], providers: [{ provide: StatsService, useValue: mockStatsService }], }) .compile(); controller = module.get<StatsController>(StatsController); }); it('should be defined', () => { expect(controller).toBeDefined(); }); });
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!