介绍
Mocha 是一个 JavaScript 测试框架,被广泛用于前端和后端应用程序的测试。GraphQL 是一种查询语言,用于API的构建。本文将介绍如何使用 Mocha 对 GraphQL 应用程序进行测试。
安装
为了使用 Mocha,我们需要在项目中安装它。我们可以使用 npm 来安装 Mocha:
npm install --save-dev mocha
安装好后,我们可以创建一个测试目录并写测试。
编写测试
在测试目录中,我们可以创建一个 JavaScript 文件,来编写测试代码。下面是一个简单的测试示例,测试查询某个用户的信息:
const assert = require('assert'); const { graphql } = require('graphql'); const schema = require('../schema'); describe('User', function() { it('should return user info', async function() { const query = ` query getUser(id: "1") { user(id: "1") { id name email } } ` const result = await graphql(schema, query); assert.equal(result.errors, undefined); assert.equal(result.data.user.id, '1'); assert.equal(result.data.user.name, 'John'); assert.equal(result.data.user.email, 'john@example.com'); }); });
在这段代码中,我们首先引入了 assert
和 graphql
。然后,我们导入了我们的 GraphQL Schema,这是我们的应用程序的定义之一。我们使用 describe
和 it
,来定义我们的测试。
在 it
中,我们定义我们的查询,这是我们要测试的目标。我们使用 graphql
函数来执行查询,并断言查询结果是否满足我们期望的值。在这个例子中,我们测试查询用户信息,期望用户id为1,姓名为John,邮箱为john@example.com。
运行测试
在我们编写好测试后,可以运行测试来验证我们的应用程序是否正常。我们可以在命令行中运行 mocha
命令,来运行我们的测试:
mocha test/user.js
在这个命令中,test/user.js
是我们要运行测试的文件路径。
如果所有的测试通过,我们应该看到类似下面这样的输出:
User ✓ should return user info 1 passing (50ms)
如果有任何测试失败,我们会看到失败的信息。
总结
在本文中,我们介绍了如何使用 Mocha 来测试 GraphQL 应用程序。我们首先安装了 Mocha,然后编写了一个简单的查询测试,并运行了这个测试。我们的测试完美通过了,说明我们的应用程序正常。在实际开发中,我们应该写更多测试来验证应用程序的不同部分和功能。
示例代码
下面是一个完整的代码示例,用于测试一个名为 schema
的 GraphQL Schema:
const assert = require('assert'); const { graphql } = require('graphql'); const schema = require('../schema'); describe('User', function() { it('should return user info', async function() { const query = ` query getUser(id: "1") { user(id: "1") { id name email } } ` const result = await graphql(schema, query); assert.equal(result.errors, undefined); assert.equal(result.data.user.id, '1'); assert.equal(result.data.user.name, 'John'); assert.equal(result.data.user.email, 'john@example.com'); }); });
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65b0b184add4f0e0ffa0b511