JEST是一种用于测试JavaScript代码的JavaScript测试框架。这是测试反应应用程序的流行选择。 Jest是一个用于创建,运行和结构测试的JavaScript库。它作为NPM软件包运行,可以安装在任何JavaScript项目中。
它允许您使用平易近人,熟悉和功能丰富的API编写测试,从而快速为您提供结果。开玩笑的一些主要特征包括:
- 快照测试
- 模拟功能
- 代码覆盖
- 测试覆盖范围
- 内置代码覆盖报告
- 并行测试运行
今天我们将看到一个简单的测试。
安装:
使用默认包装文件初始化一个新的node.js项目。 -y标志跳过交互式提示,并使用package.json文件中所有字段的默认值。
npm init -y
npm install --save-dev jest
-save-dev标志用于将软件包作为开发依赖关系保存在package.json文件的devDepentencies部分中。这意味着该包仅用于开发目的而不是生产。 - 保存标志用于将软件包作为套件文件的依赖项部分中的生产依赖关系保存为生产依赖。这意味着对于开发和生产目的都需要包装。
package.json文件中我们必须添加:
"scripts": {
"test": "jest --coverage"
},
- 覆盖标志用于生成测试的代码覆盖报告。该报告显示了测试涵盖了多少代码。覆盖范围报告包括诸如涵盖线的百分比,涵盖功能百分比以及所涵盖的分支百分比等信息。
代码
sum.js
function sum(a,b){
return a+b;
}
module.exports = sum
sum.test.js
Jest在 tests 文件夹或任何名为test的文件夹中寻找使用.test.js或.spec.js扩展名的文件。这是开玩笑的默认行为。您还可以配置玩笑以查找具有不同命名约定的文件或在其他文件夹中。命名约定用于识别测试文件并将其与项目中的其他文件分开。
const sum = require("./sum");
test("properly adds two numbers", () => {
expect(sum(1, 2)).toBe(3);
});
解释:
-
第一个代码块定义了一个称为sum的函数,该函数获取两个参数并返回其总和。第二行导出了总和函数,因此可以在其他文件中使用。
-
第二个代码块使用require()函数从sum.js文件中导入总和函数。
-
然后使用Jest提供的Test()函数定义了测试用例。
-
测试案例检查传递两个数字时sum()函数是否返回正确的结果。
-
期望()函数用于对sum()函数的输出发出断言。在这种情况下,它使用tobe()匹配器检查输出是否等于3。
另一个例子:
减去JS
function Subtract(a, b) {
return a - b;
}
module.exports = Subtract;
sumtract.test.js
const subtract = require("./subtract");
test("properly subtract two numbers", () => {
expect(subtract(2, 1)).toBe(1);
});
运行测试:
npm test
开玩笑的测试结果显示在终端/控制台窗口中。结果表明哪些测试通过了,哪些测试失败了。结果还显示了每个测试需要运行多长时间。 JEST在测试运行结束时提供了测试结果的摘要。摘要包括通过和失败的测试数量,以及运行所有测试所需的总时间。