diff --git a/test/m-ai-03-gate.e2e-spec.ts b/test/m-ai-03-gate.e2e-spec.ts index 1cfde4f..58a4580 100644 --- a/test/m-ai-03-gate.e2e-spec.ts +++ b/test/m-ai-03-gate.e2e-spec.ts @@ -1,9 +1,15 @@ import { Test, TestingModule } from '@nestjs/testing'; -import { INestApplication } from '@nestjs/common'; -import { DiscoveryModule } from '@nestjs/core'; +import { INestApplication, Global, Module } from '@nestjs/common'; import { JwtService } from '@nestjs/jwt'; +import { Reflector } from '@nestjs/core'; import request from 'supertest'; import { AppModule } from '../src/app.module'; + +// Reflector 是 NestJS 全局 provider,但 Test.createTestingModule 不自动导入。 +// 需要 @Global() 模块使其对 AppConfigModule(子模块)可见。 +@Global() +@Module({ providers: [Reflector], exports: [Reflector] }) +class ReflectorModule {} import { AiJobCreationService } from '../src/modules/ai-job/ai-job-creation.service'; import { JobDefinitionRegistry } from '../src/modules/ai-job/job-definition-registry'; import { AiJobLifecycleRepository } from '../src/modules/ai-job/ai-job-lifecycle.repository'; @@ -41,9 +47,9 @@ describe('M-AI-03 GATE E2E (fail-closed)', () => { process.env.AI_JOB_SYNTHETIC_ENABLED = 'true'; process.env.JWT_SECRET = 'gate-e2e-secret'; - // DiscoveryModule 提供 ModulesContainer + Reflector(TestingModule 不自动导入) + // ReflectorModule(@Global) 让子模块 AppConfigModule 能解析 Reflector 依赖 const module: TestingModule = await Test.createTestingModule({ - imports: [AppModule, DiscoveryModule], + imports: [ReflectorModule, AppModule], }).compile(); app = module.createNestApplication();