gpt4 book ai didi

node.js - GraphQL Node JS 应用程序的单元测试

转载 作者:太空宇宙 更新时间:2023-11-04 00:26:38 26 4
gpt4 key购买 nike

我开发了一个带有自定义解析器的 graphql Node js 应用程序。谁能向我指出一些文档,其中说明了如何正确为我的服务编写单元测试?或者,如果有人以前做过并且可以为我指明正确的方向,那就太好了!

最佳答案

为了测试服务的每个端点,您需要使用适当的负载对指定的 URL 执行 POST 操作。有效负载应该是一个包含三个属性的对象

  • 查询 - 这是将在服务器端运行的 GraphQL 查询
  • operationName - 要运行的查询操作的名称
  • 变量 - 在查询中使用

为了测试您的端点,您可以使用类似 supertest 的模块允许您执行 GETPOSTPUT 等请求。

import request from 'supertest';

let postData = {
query: `query returnUser($id: Int!){
returnUser(id: $id){
id
username
email
}
}`,
operationName 'returnUser',
variables: {
id: 1
}
};

request(graphQLEndpoint)
.post('?')
.send(postData)
.expect(200) // status code that you expect to be returned
.end(function(error, response){
if ( error ) console.log(error);

// validate your response
});

通过这种方式,您可以通过使用具有适当属性的等效 postData 对象执行 POST 请求来测试您的服务包含的每个查询变异。要将所有这些测试包装在一起,您可以使用在 Node.js 下工作的任何测试框架,例如 Mocha使用断言库。

关于node.js - GraphQL Node JS 应用程序的单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42542917/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com