我正在测试一个突变,该突变会创建一个类似于以下内容的用户:
def test_create_user(self):
user_mutation = """
mutation($id: ID!, $group: GroupInput!, $address: AddressInput!){
createUser(id: $id, group: $group, address: $address) {
user {
id
}
}
}
"""
group = {
'name': 'GroupA',
'contact': '1231323131'
}
address = {
'street': '123',
'city': 'Test City'
}
resp = self.client.execute(user_mutation,
variable_values={
'id': str(uuid.uuid4()),
'group': group,
'address': address
})
变异类:
class CreateUser(graphene.Mutation):
class Arguments:
id = graphene.String(required=True)
group = GroupInput(required=True)
address = AddressInput(required=True)
...more input here
user = graphene.Field(UserType)
def mutate(self, info, **kwargs):
user = create_user(**kwargs)
return CreateUser(user=user)
问题是,当我尝试运行此测试时,它返回错误:
test_create_user {'errors': [{'message': "create_user() got an unexpected keyword argument 'group'", 'locations': [{'line': 4, 'co
lumn': 25}], 'path': ['createUser']}], 'data': OrderedDict([('createUser', None)])}
我不确定应该怎么做,我使用 kwargs ,因为这里有更多输入要添加。任何想法和建议都将不胜感激!