如何为 xunit 集成测试编写 GraphQL 变异查询
Posted
技术标签:
【中文标题】如何为 xunit 集成测试编写 GraphQL 变异查询【英文标题】:How to write a GraphQL mutation query for xunit integration test 【发布时间】:2019-04-06 17:02:05 【问题描述】:我想对我的 GraphQL 突变执行集成测试。我可以在我的 GraphiQL 中很好地运行查询,但我真的不知道如何将其转换为带有 xunit 集成测试输入的查询字符串。
上面是我的 GraphiQL,它可以很好地返回数据。我已经关注StarWars git hub 项目进行集成测试。通过传递 graphql 查询字符串查询 GraphQL 工作正常,但由于缺乏知识和文档,我无法将上述 GraphiQL 突变转换为查询字符串。
以下是我到目前为止的集成测试代码,其中缺少查询变量部分并且不知道如何将它们引入
//Arrange
const string query = @"
""query"": "" mutation CreateMutation($input: InputType!)
addNewItem(myInput: $input)
col1
col2
col3
col4
col5
""
";
var content = new StringContent(query, Encoding.UTF8, "application/json");
// Act
var response = await client.PostAsync("/graphql", content);
//Assert
response.EnsureSuccessStatusCode();
【问题讨论】:
【参考方案1】:我已经弄清楚了查询字符串的语法,如下所示
const string query = @"
""query"": "" mutation CreateMutation($input: InputType!) addNewItem(myInput: $input) col1 col2 col3 col4 col5 "",
""variables"": input : col1: 100, col2: 'starwars'
";
【讨论】:
以上是关于如何为 xunit 集成测试编写 GraphQL 变异查询的主要内容,如果未能解决你的问题,请参考以下文章
如何为具有spring存储库代码的@Component类编写集成测试?