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
声明:本站所有文章和图片,如无特殊说明,均为原创发布,转载请注明出处。