Nest 无法解析 AuthService 的依赖项(?,JwtService)

Nest can't resolve dependencies of the AuthService (?, JwtService)

我在使用 nest js 默认生成的测试时遇到了一些问题。我确保我的服务没有循环声明,并且都是完全导出的服务和导入的模块。我试过其他类似的堆栈问题,但似乎不是我的情况。请告诉我如何解决它。谢谢

这是我的存储库:https://github.com/ThanhDeveloper/NestJsApp

我的授权控制器:

export class AuthController {
  constructor(private readonly authService: AuthService) {}

  @Post('login')
  @UseGuards(AuthGuard('local'))
  @ApiBody({ type: LoginUserDto })
  @UseInterceptors(TransformInterceptor)
  @HttpCode(200)
  async login(@Request() req) {
    return await this.authService.login(req.user);
  }

  @Post('register')
  @UseInterceptors(TransformInterceptor)
  async signUp(@Body() registerUserDto: RegisterUserDto) {
    return await this.authService.register(registerUserDto);
  }
}

我的授权服务:

export class AuthService {
  constructor(
    private readonly userService: UsersService,
    private readonly jwtService: JwtService,
  ) {}
}

auth.module.ts:

@Module({
  imports: [
    PassportModule,
    UsersModule,
    JwtModule.register({
      secret: JWTKEY,
      signOptions: { expiresIn: TOKEN_EXPIRATION },
    }),
  ],
  providers: [AuthService, LocalStrategy, JwtStrategy],
  controllers: [AuthController],
})
export class AuthModule {}

user.module.ts:

@Module({
  controllers: [UsersController],
  providers: [UserProfile, UsersService, ...usersProviders],
  exports: [UsersService],
})
export class UsersModule {}

app.module.ts

@Module({
  imports: [
    ConfigModule.forRoot({ isGlobal: true }),
    DatabaseModule,
    UsersModule,
    AuthModule,
    CrawlersModule,
    AutomapperModule.forRoot({
      options: [{ name: 'classMapper', pluginInitializer: classes }],
      singular: true,
    }),
  ],
})
export class AppModule {}

错误日志:

UsersService 进行了 UserRepository 注射。因此,如果您想测试导入(或使用)的控制器或服务 UsersService,您必须注入它或使用存储库模拟。

  • auth.controller.spec.ts改为

  • auth.service.spec.ts改为

  • users.controller.spec.ts改为

  • users.service.spec.ts改为

你所有的错误都将消失