تايبسكريبت - Nestjs: لا يمكن حقن ConfigService أثناء الاختبار


أواجه مشاكل في إعداد اختبار وحدة يستخدم ConfigService لإعداد TypeORM. الاختبار أدناه يفشل بالرسالة التالية:

لا يمكن لـ Nest حل تبعيات TypeOrmModuleOptions (؟). يرجى التأكد من أن الوسيط ConfigService عند الفهرس [0] متاح في سياق TypeOrmCoreModule.

لقد حاولت إضافة ConfigService كمزوّد، لكن بدون جدوى. هل لديك أي أفكار عما أفعله بشكل خاطئ؟

import { ConfigModule, ConfigService } from '@nestjs/config';
import { Test } from '@nestjs/testing';
import { TypeOrmModule, TypeOrmModuleOptions } from '@nestjs/typeorm';

describe('TypeORM setup', () => {
    beforeEach(async () => {
        await Test.createTestingModule({
            providers: [ConfigService],
            imports: [
                ConfigModule.forRoot(),
                TypeOrmModule.forRootAsync({
                    useFactory: (config: ConfigService) => ({ ...config.get('db') }),
                    inject: [ConfigService],
                }),
            ],
        }).compile();
    });

    it('dummy', () => {
        true === true;
    });
});

الإجابة رقم 1

إما أنك بحاجة إلى تعيين { isGlobal: true } كخيار لـ ConfigModule أو تحتاج إلى إضافة imports: [ConfigModule] إلى تكوين TypeOrmModule.forRootAsync()