我正在为我的 graphql 设置测试。在这样做的同时,我意识到有时错误情况下的数据对象输出如下:
{
errors: [...],
data: null
}
Run Code Online (Sandbox Code Playgroud)
有时 :
{
errors: [...],
data: {
updateCity: null
}
}
Run Code Online (Sandbox Code Playgroud)
这些测试是针对突变的。这是两个代码的示例:
解析器案例 1:
updateUser(parent, args, context, info) {
logger.debug('Mutation > updateUser resolver');
return userController.user.update.user(parent, args.userInfo, context, info);
},
Run Code Online (Sandbox Code Playgroud)
模式案例 1:
extend type Mutation {
updateUser(userInfo: UserInfo!): User!
}
Run Code Online (Sandbox Code Playgroud)
控制器案例1:
user: async (parent, args, context, info) => {
try {
logger.debug('User Controller : update User');
await controller.validate(args);
const userModel = new UserModel('member');
if (!(await userModel.findOne(args.id))) errorscb.userInputError('User does not exist');
let id …Run Code Online (Sandbox Code Playgroud)