【问题标题】:Nestjs testing: Can not use app.get since upgrading to v8?Nestjs 测试:升级到 v8 后无法使用 app.get?
【发布时间】:2021-08-30 17:46:48
【问题描述】:

我昨天升级到 Nestjs v8,我怀疑我的问题与此有关。

之前,我可以像这样创建一个测试模块:

beforeAll(async () => {
    const moduleRef = await Test.createTestingModule({
        ...appModuleMetaData,
        providers: [...appModuleMetaData.providers, TestingService],
    }).compile();

    app = moduleRef.createNestApplication();
    await app.init();

    testingService = app.get('TestingService');
});

这似乎不再可能,因为 Nest 无法获取 TestingService。目前,我看到了错误:

Nest 找不到 TestingService 元素(此提供程序不 存在于当前上下文中)

我很想以某种方式解决这个问题。

【问题讨论】:

标签: nestjs


【解决方案1】:

我想我自己想通了。似乎不推荐使用基于字符串的标记,我必须输入实际的类:

testingService = app.get(TestingService); // <-- no string

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-01
    • 2019-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多