我正在使用typegraphql,并使用resgiterEnumType注册DayOfWeek枚举类型。
以下是我的enum和registerEnumType函数,它们在一个文件中。
export enum DayOfWeek {
SUNDAY,
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY
}
registerEnumType(DayOfWeek, {
name: "DayOfWeekType", // this one is mandatory
});
我运行程序时效果很好。但是当我进行开玩笑的测试时,我收到如下消息
Looks like you've forgot to provide experimental metadata API polyfill.
12 | }
13 |
> 14 | registerEnumType(DayOfWeek, {
| ^
15 | name: "DayOfWeekType", // this one is mandatory
16 | });
17 |
如果我将enum和registerEnumType放在同一文件中,则运行正常,测试失败。
并且如果我将枚举和registerEnumType分开,则找不到graphql DayOfWeek类型...。
我该如何解决?
答案 0 :(得分:1)
import { Test, TestingModule } from '@nestjs/testing';
import { GraphQLModule } from '@nestjs/graphql';
describe('your test suite', () => {
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
imports: [
GraphQLModule.forRoot({
...
}),
],
}).compile();
});
});
您需要在规范中配置GraphQLModule
。
P / S:上面的代码段是假设您使用的是NestJS
框架。
答案 1 :(得分:1)
您需要添加
import "reflect-metadata";
在文件顶部