类型错误:metadata_1.Public不是函数(NestJS SetMetaData)



我的e2e测试正在为使用自定义装饰器@Public()的控制器返回TypeError: metadata_1.Public is not a function

为了清晰起见,省略了一些代码

it(`/GET forks`, async () => {
const fork: ForksModel = { 
type: 'Full Copy', 
};

await request(app.getHttpServer())
.get('/forks')
.expect(200)
.expect({ fork: expectedForks});
});

@Public()
public async getAccountForks(@Req() req: Request) {
const { account } = req;
const fork = await this.service.getAccountForks(account);
return { fork, account };
}

public.decorator.ts

import { SetMetadata } from "@nestjs/common";

export const Public = () => SetMetadata( "isPublic", true );

我不知道这里发生了什么,当运行nest 时,它不会抱怨这一点

这是进口

import { Public } from '@app/utils/metadata';

所以我忘了从根utils index.ts导出元数据文件!

但Nest没有抱怨,在测试时,装饰师在我的Guard上发挥了作用!

最新更新