随着 GraphQL 的流行,前端开发人员需要掌握如何测试 GraphQL 应用程序。在这篇文章中,我们将介绍如何使用 Mocha 和 Chai 断言库来测试 GraphQL 应用程序的最佳实践。
环境准备
首先,我们需要安装 Mocha 和 Chai。在项目根目录下执行以下命令:
npm install --save-dev mocha chai
接下来,我们需要安装一些其他的依赖项。在本文中,我们将使用以下依赖项:
npm install --save-dev graphql apollo-server-express supertest
graphql
:GraphQL 的 JavaScript 实现。apollo-server-express
:一个用于 Express 的 GraphQL 服务器。supertest
:一个用于测试 HTTP 服务器的库。
编写测试用例
接下来,我们将编写一个测试用例来测试 GraphQL 查询。我们将使用 describe
和 it
函数来编写我们的测试用例。这些函数由 Mocha 提供。
-- -------------------- ---- ------- ----- - ------ - - ---------------- ----- - ------------ - - --------------------------------- ----- ------- - ------------------- ----- --------- - --------------------- ----- - --------- --------- - - -------------------- ----------------- ----- -- -- - --- ------- --- -------- ------------ -- -- - ----- --- - ---------- ------ - --- -------------- --------- --------- --- ----- --------------- ------------------------ --- --- ------- - --------------- --- ----------- -- -- - ----- -------------- --- ---------- ------ - ---- -- ------- ----- -- -- - ----- ----- - - ----- - ----- - -- ----- ------ - - -- ----- -------- - ----- ------------------------------- ----- --- -------------------------------------- --------------------------------------------------- --- ---
在这个测试用例中,我们首先导入了 expect
函数,它是 Chai 提供的用于断言的函数。接下来,我们导入了我们的 GraphQL schema。我们使用 describe
函数来描述我们的测试用例。在 before
函数中,我们创建了一个 Express 应用程序,并启动了一个 ApolloServer,然后将 ApolloServer 中间件应用到应用程序中。我们还创建了一个 request
对象,它将用于发送 GraphQL 查询。在 after
函数中,我们停止了 ApolloServer。
在 it
函数中,我们编写了一个测试用例,它将查询所有书籍。我们使用 request.post
函数发送了一个 GraphQL 查询,并断言响应的状态码为 200,响应的数据是一个数组。
运行测试用例
现在我们已经编写了我们的测试用例,接下来我们需要运行它们。在项目根目录下执行以下命令:
npm test
如果一切正常,测试用例将会通过。
总结
在本文中,我们介绍了如何使用 Mocha 和 Chai 断言库来测试 GraphQL 应用程序的最佳实践。我们编写了一个测试用例来测试 GraphQL 查询,并使用了 describe
和 it
函数来编写测试用例。我们还介绍了如何安装依赖项,并运行测试用例。希望本文能够帮助你更好地测试你的 GraphQL 应用程序。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65603c2cd2f5e1655da68c0a