django石墨烯文档显示了这样一个测试示例:
class MyFancyTestCase(GraphQLTestCase):
def test_some_query(self):
response = self.query(
'''
query {
myModel {
id
name
}
}
''',
op_name='myModel'
)
content = json.loads(response.content)
# This validates the status code and if you get errors
self.assertResponseNoErrors(response)
# Add some more asserts if you like
...
他们没有任何API文档说明op_name
是什么,以及我们应该将其设置为什么。我试图将其设置为我的查询名称,但得到错误:
[{'message': 'Unknown operation named "myQuery".'}]
仅在查询字符串中有多个操作时需要输入操作名。您只有一个操作,所以默认值(None)是可以的。
https://docs.graphene-python.org/en/latest/execution/execute/操作名称
根据我的评论:
如果查询是突变查询或命名查询,则必须提供op_name。对于非查询("{…}"),应该是None(默认)
我不知道如何创建一个"命名的查询"与django石墨烯,但显然我的查询不是一个命名的查询。留下op_name
作为None
让我的查询通过我的单元测试工作。