graphql supertest,错误消息:'Cannot return null for non-nullable field Mutation

graphql supertest , error message: 'Cannot return null for non-nullable field Mutation

为用户创建和更新考虑这个简单的解析器:

@Resolver(() => User)
export class UserResolver {
  constructor(private userService: UserService) {}

  @Mutation(() => User)
  async CreateUser(@Args('payload') payload: CreateUserInput) {
    return this.userService.createUser(payload);
  }

  @Mutation(() => User)
  async UpdateUser(@Args('payload') payload: UpdateUserInput) {
    return this.userService.updateUser(payload);
  }

当我使用 grapqhl playground 创建和更新时,效果很好:

在 运行 测试中,相同的查询可以创建(如图所示)但更新突变有错误,这在两个查询中是相同的:

export const UpdateUserMutation = `
mutation UpdateUser( $id:String!, $email:String ) {
  UpdateUser(payload: { _id: $id, email: $email }) {
    _id
    phone
    email
  }
}
`;

我是不是漏了什么?

在我的测试中,我使用 beforeEachafterEach 来重置数据库和服务器。 通过使用 beforeAllafterAll 保留创建的用户,以便成功更新用户。