收录了这篇文章
Jest 简介
Jest 是一个越来越流行的测试框架,使用率渐渐超过了Mocha, 这些项目都在使用 Jest:Babel、 TypeScript、 Node、 React、 Angular、 Vue 等等!
Jest 的目标是在大部分 JavaScript 项目上实现开箱即用, 无需配置。
从 it
到 expect
- Jest 将整个工具包放在同一个 地方。好书写、好维护、非常方便。
快速上手
npm install --save-dev jest
下面我们开始给一个假定的函数写测试,这个函数的功能是两数相加。首先创建 sum.js 文件:
function sum(a, b) { return a + b; } module.exports = sum;
接下来,创建名为 sum.test.js 的文件。这个文件包含了实际测试内容:
const sum = require('./sum'); test('adds 1 + 2 to equal 3', () => { expect(sum(1, 2)).toBe(3); });
将如下代码添加到 package.json 中:
{ "scripts": { "test": "jest" } }
最后,运行 yarn test 或者 npm run test ,Jest 将输出如下信息:
PASS ./sum.test.js ✓ adds 1 + 2 to equal 3 (5ms)
在此测试中,使用了 expect 和 toBe 来检测两个值是否完全相同。若要了解其它使用 Jest 可以测试的内容,请参阅使用匹配器(Matcher) https://jestjs.io/docs/expect。
如果有多个 *.test.js 这样的文件,执行 jest 命令以后,每个文件都会被执行。每个文件都是一个 Test Suites
BDD风格的测试
BDD是“行为驱动的开发”(Behavior-Driven Development)的简称。BDD认为,不应该针对代码的实现细节写测试,而是要针对行为写测试。BDD测试的是行为,即软件应该怎样运行。BDD的特征就是使用describe()和it() 这两个方法。
const assert = require('assert'); const tools = require("../../utils/tools"); describe('测试套件', function () { it('测试用例', function () { assert.ok(1, 'ssss'); //断言条件 }); it('当值不存在时应该返回 -1', function () { assert.equal(-1, [1, 2, 3].indexOf(5)); assert.equal(-1, [1, 2, 3].indexOf(0)); }); var ts = new Date(Date.parse('2021-12-10T23:10:23')); ts = ts.getTime(); it('参数是毫秒', () => { var dateTime = tools.formatDateTime(ts); assert.equal(dateTime, "2021-12-10 23:10:23", "时间不正确"); }); });
参考:https://blog.csdn.net/yhc166188/article/details/102881306
修改时间 2022-03-22
声明:本站所有文章和图片,如无特殊说明,均为原创发布。商业转载请联系作者获得授权,非商业转载请注明出处。