无法创建新的测试 Apollo Server
Can't create a new test Apollo Server
我想 test my resolvers with the executeOperation API,根据文档我需要创建一个测试服务器,这是我的。
export const getTestServer = async () => {
const redis = new Redis({});
const schema = await buildSchema({
resolvers: [UserResolver],
validate: false,
});
const server = new ApolloServer({
schema,
context: ({ req, res }): AppContext => {
req = mocks.createRequest();
req.session.userId = 1;
return { req, res, redis };
},
return server;
};
在这里,我使用 typegraphql 构建我的架构,此代码适用于我的实际服务器,但在我的测试中它抛出以下错误:
Some errors occurred while generating GraphQL schema:
Type Query must define one or more fields.
Please check the `details` property of the error to get more detailed info.
9 | const redis = new Redis({});
10 |
> 11 | const schema = await buildSchema({
| ^
12 | resolvers: [UserResolver],
13 | validate: false,
14 | });
at Function.generateFromMetadata (node_modules/type-graphql/dist/schema/schema-generator.js:20:23)
at buildSchema (node_modules/type-graphql/dist/utils/buildSchema.js:10:20)
at getTestServer (src/__tests__/config.ts:11:18)
at Object.<anonymous> (src/__tests__/resolvers/user.test.ts:19:20)
原来我的解析器中至少需要 1 个 @Query
装饰器,我只是添加了一个虚拟解析器,直到我需要一个实际的查询。对于测试,我切换到 supertest, check this example 如果您也有兴趣使用它进行测试
我想 test my resolvers with the executeOperation API,根据文档我需要创建一个测试服务器,这是我的。
export const getTestServer = async () => {
const redis = new Redis({});
const schema = await buildSchema({
resolvers: [UserResolver],
validate: false,
});
const server = new ApolloServer({
schema,
context: ({ req, res }): AppContext => {
req = mocks.createRequest();
req.session.userId = 1;
return { req, res, redis };
},
return server;
};
在这里,我使用 typegraphql 构建我的架构,此代码适用于我的实际服务器,但在我的测试中它抛出以下错误:
Some errors occurred while generating GraphQL schema:
Type Query must define one or more fields.
Please check the `details` property of the error to get more detailed info.
9 | const redis = new Redis({});
10 |
> 11 | const schema = await buildSchema({
| ^
12 | resolvers: [UserResolver],
13 | validate: false,
14 | });
at Function.generateFromMetadata (node_modules/type-graphql/dist/schema/schema-generator.js:20:23)
at buildSchema (node_modules/type-graphql/dist/utils/buildSchema.js:10:20)
at getTestServer (src/__tests__/config.ts:11:18)
at Object.<anonymous> (src/__tests__/resolvers/user.test.ts:19:20)
原来我的解析器中至少需要 1 个 @Query
装饰器,我只是添加了一个虚拟解析器,直到我需要一个实际的查询。对于测试,我切换到 supertest, check this example 如果您也有兴趣使用它进行测试