0%

使用Jest测试JavaScript

Jest 是 Facebook 的一套开源的 JavaScript 测试框架, 它自动集成了断言、JSDom、覆盖率报告等开发者所需要的所有测试工具,是一款几乎零配置的测试框架。并且它对同样是 Facebook 的开源前端框架 React 的测试十分友好。

安装

  1. npm init -y
  2. npm install -D jest babel-jest babel-core babel-preset-env regenerator-runtime

使用

  1. 在项目根目录添加.babelrc文件
  2. 在文件中写入

    1
    2
    3
    {
    "presets": ["env"]
    }
  3. 打开package.json文件,将script下的test的值修改为jest

    1
    2
    3
    "scripts": {
    "test": "jest"
    }

编写测试方法

  1. 创建srctest目录及相关文件

    • 在项目根目录下创建src目录,并在src目录下添加functions.js文件
    • 在项目根目录下创建test目录,并在test目录下创建functions.test.js文件
    • 测试文件的文件名 = 被测试模块名 + .test.js,例如被测试模块为functions.js,那么对应的测试文件命名为functions.test.js
    • Jest 会自动找到项目中所有使用.spec.js.test.js文件命名的测试文件并执行
  2. src/functions.js中创建被测试的模块

    1
    2
    3
    4
    5
    export default {
    sum(a, b) {
    return a + b;
    }
    }

    test/functions.test.js文件中创建测试用例

    1
    2
    3
    4
    5
    import functions  from '../src/functions';

    test('sum(2 + 2) 等于 4', () => {
    expect(functions.sum(2, 2)).toBe(4);
    })