jest

jest是facebook推出的一款测试框架,集成了前面所讲的Mocha和chai,jsdom,sinon等功能。

安装

npm install --save-dev jest
npm install -g jest

基本用法

和之前介绍的mocha和chai的功能很像,甚至可以兼容mocha和chai的语法。

test('两数相加结果为两个数字的和', () => {
    expect(addNum(1, 2)).toBe(3);
});

运行命令jest后会自动运行.test.js和.spec.js这种格式的文件。
涉及到运用ES或react的,要与babel相结合,加上.babelrc文件即可,老玩法了。

mock文件和css module的问题

如果js文件中引用了css或者本地其他文件,那么就可能测试失败。
为了解决这个问题,同时也为了提高测试效率,需要在package.json中配置:

"jest": {
    "moduleNameMapper": {
     "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/test/config/fileMock.js",
     "\\.(css|less)$": "identity-obj-proxy"
 }

而fileMock.js文件内容为:

module.exports = 'test-file-stub';

然后安装identity-obj-proxy即可:

npm install --save-dev identity-obj-proxy

生成测试覆盖率报告

只需要在jest命令后加入 –coverage即可

jest --coverage

单元测试覆盖率报告

版权声明:本文为vvjiang原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/vvjiang/p/8620847.html