如何编写用于Xunit集成测试的GraphQL变异查询

时间:2018-11-02 12:38:16

标签: c# graphql xunit

我想对我的GraphQL突变进行整合测试。我可以在GraphiQL中很好地运行查询,但是我真的不知道如何使用xunit集成测试的输入将其转换为查询字符串。

enter image description here

以上是我的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 个答案:

答案 0 :(得分:0)

我已经弄清楚了查询字符串的语法,如下所示

const string query = @"{ 
            ""query"": "" mutation CreateMutation($input: InputType!) { addNewItem(myInput: $input) { col1 col2 col3 col4 col5  }} "",
            ""variables"": { input :{ col1: 100, col2: 'starwars' }}
        }";