小编wen*_*zel的帖子

单元测试时如何在nestjs中向服务提供注入常量

我尝试为我的小型应用程序创建单元测试。我想测试使用注入配置和其他服务的服务。

@Injectable()
export class AuthService {
        private readonly localUri: string;

        constructor(
            @Inject(CORE_CONFIG_TOKEN) private readonly coreConfig: ICoreConfig,
            @Inject(PROVIDER_CONFIG_TOKEN) private readonly providerConfig: IProviderConfig,
            private readonly _httpService: HttpService,
            private readonly _usersService: UsersService,
        ) {
            this.localUri = `http://${this.coreConfig.domain}:${this.coreConfig.port}`;
        }

        ...


        /**
         * Checks if a given email is already taken
         * @param email
         */
        async isEmailTaken(email: string): Promise<boolean> {
            return (await this._usersService.findUserByEmail(email)) !== undefined;
        }

        ...
Run Code Online (Sandbox Code Playgroud)

我不明白如何测试这项服务。我不知道如何为注入的配置提供正确的 TestModule 提供程序@Inject(CORE_CONFIG_TOKEN) private readonly coreConfig: ICoreConfig

    const testCoreConfig = '{...}'
    const module = await Test.createTestingModule({
      providers: …
Run Code Online (Sandbox Code Playgroud)

unit-testing dependency-injection nestjs

2
推荐指数
1
解决办法
6967
查看次数