Custom Provider: Object literal 可能只指定已知的属性,并且 'provide' 不存在于类型中

Custom Provider: Object literal may only specify known properties, and 'provide' does not exist in type

我正在尝试将单元测试文件中的记录器提供程序替换为存根提供程序,这样我就不会在单元测试期间从被测模块获取日志。我收到以下错误:

error TS2322: Type '{ provide: string; useValue: {}; }' is not assignable to type 'Type<any> | DynamicModule | Promise<DynamicModule> | ForwardReference<any>'.
      Object literal may only specify known properties, and 'provide' does not exist in type 'Type<any> | DynamicModule | Promise<DynamicModule> | ForwardReference<any>'.  

    21           provide: WINSTON_MODULE_PROVIDER,

我的代码:


  beforeEach(async () => {
    const moduleRef = await Test.createTestingModule({
      providers: [MyService],
      imports: [
        {
          provide: WINSTON_MODULE_PROVIDER, // Error on this line
          useValue: {},
        },
      ],
    }).compile();

    MyService = moduleRef.get<MyService>(MyService);
  });

这是我正在测试的模块的构造函数

constructor(
    @Inject(WINSTON_MODULE_PROVIDER) private readonly logger: Logger,
  ) {}

自定义提供程序进入 providers 数组,而不是 imports。提供商 从不 进入 imports 数组。