随着 GraphQL 在现代 web 应用中变得越来越普遍,我们希望确保我们的 GraphQL 应用的可靠性和正确性。Mocha 是一个流行的 JavaScript 测试框架,可以帮助我们测试我们的 GraphQL 应用。
在本文中,我们将介绍如何使用 Mocha 测试 GraphQL 应用。我们将从设置测试环境开始,然后编写测试用例并运行测试。
设置测试环境
首先,我们需要设置测试环境。我们将使用以下技术:
- Node.js - 运行测试
- Express - 创建服务器
- GraphQL - 实现 GraphQL API
- Mocha - 测试框架
- Chai - 断言库
我们可以使用 npm
来安装这些依赖项:
npm i express graphql mocha chai --save-dev
接下来,我们需要编写我们的 GraphQL 模式和 resolvers。为了简单起见,我们将使用以下模式:
type Query { hello: String! }
我们的解析器函数将返回一个字符串:“hello,world!”。在真实的应用场景中,可能会有更多的查询和解析器函数。
让我们编写我们的服务器和 GraphQL API:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- - ----------- - - --------------------------- ----- - ----------- - - ------------------- ----- ------ - ------------- ---- ----- - ------ ------- - --- ----- ---- - - ------ -- -- ------- -------- -- ----- --- - ---------- ------------------- ------------- ------- ------- ---------- ----- --------- ----- ---- ---------------- -- -- - -------------------- - ------- --- ------ -- -------------------------------- ---
现在我们可以启动服务器并尝试使用 GraphiQL 进行查询,验证我们的 API 是有效的。我们应该看到以下结果:
现在我们可以编写我们的测试用例。
编写测试用例
我们将创建一个名为 test.js
的文件并编写测试用例。我们将在测试文件中创建一个测试套件和几个测试用例。
我们首先需要导入我们的依赖项:
const { graphql } = require('graphql'); const { describe, it } = require('mocha'); const chai = require('chai'); const expect = chai.expect; const schema = require('./schema'); const root = require('./root');
我们导入了我们的模式和根解析器。请注意,我们将模式和根解析器拆分为单独的文件。
然后,我们编写我们的测试用例。我们将编写两个测试用例:
- 测试我们的 API 是否工作正常。
- 测试我们的 hello 查询是否返回正确的响应。
-- -------------------- ---- ------- ----------------- --- ------- -- -- - ------------- ----- ------------ -- -- - ---------- ------ - -------- ---- -- --------- ----- -- -- - ----- ----- - -- ----- --- ----- -------- - ----- --------------- ------ ------ ---------------------------------------- --- --- --------------- ----- ------- -- -- - ---------- ------ ------- --------- ----- -- -- - ----- ----- - -- ----- --- ----- -------- - ----- --------------- ------ ------ -------------------------------------------- --------- --- --- ---
第一个测试用例将检查我们的 API 是否可以正常响应请求。
第二个测试用例将测试我们的 hello 查询是否返回 hello, world!
的响应。
运行测试
现在我们可以运行我们的测试。我们可以使用以下命令来运行我们的测试:
npm test
我们应该看到以下结果:
我们的测试用例已成功通过!
结论
在本文中,我们了解了如何使用 Mocha 测试我们的 GraphQL 应用。我们首先设置了我们的测试环境,然后编写了我们的测试用例,并最终运行了我们的测试。我们的测试套件包括测试我们的 API 是否正常工作以及测试我们的 hello 查询是否返回正确的响应。
使用 Mocha 测试 GraphQL 应用可以确保我们的应用足够可靠和正确。在实际的应用场景中,我们可以通过添加更多的测试用例来进一步强化我们的测试。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6704b219d91dce0dc84fde43