Jest单元测试入门和实例(一)

上一篇 / 下一篇  2021-04-22 15:47:40 / 个人分类:单元测试

1. 为什么选择Jest?
Jest 是 Facebook 出品的一个测试框架,相对其他测试框架,其一大特点就是就是内置了常用的测试工具,比如自带断言、Mock 功能、测试覆盖率工具,实现了开箱即用。

2. 使用

1. 如何安装
Jest 可以通过 npm 或 yarn 进行安装。以 npm 为例,既可用 npm install -g jest 进行全局安装;也可以只局部安装、并在 package.json 中指定 test 脚本:
{
  "scripts": {
    "test": "jest"
  }
}

est 的测试脚本名形如 *.test.js,不论 Jest 是全局运行还是通过 npm run test 运行,它都会执行当前目录下所有的*.test.js 或 *.spec.js 文件、完成测试。

2. 简单例子
先让我们在一个react工程目录中src下新建一个__tests__文件夹,在里面写我们的各种测试案例。
首先,创建一个sum.js文件:
function sum(a, b){
    return a + b;
}

function foo(){
  return 'hello world'
}

export { sum,foo };

然后在__tests__中,新建一个sum.test.js的文件:
import { sum,foo } from './sum.js';

describe('test testObject', () => {
  test('测试求和函数', () => {
      expect(sum(2, 2)).toBe(4);
  });

  test('测试foo函数', () => { // 也可以用it
      expect(foo()).toBe('hell world');
  });
})

  • test() 函数表示一个测试用例
  • describe() 函数表示一组用例
  • expect() 函数返回一个期望值对象,该对象提供了大量的工具方法来做结果判定
  • toBe() 函数表示断言方法

我们把 sum foo 置于 describe() 函数的处理回调函数中,就实现了对一组用例的测试。
在Jest官方文档中,it 是 test 的别名,二者可以通用。
最后运行 yarn test 或 npm run test,将打印出下面的消息,表示测试通过了。
 PASS  __test__/sum.test.js
 PASS  __test__/foo.test.js
  √ 测试求和函数 (7ms)
  √ 测试foo函数 (1ms)

Test Suites: 2 passed, 2 total
Tests:       2 passed, 2 total
Snapshots:   0 total
Time:        4.8s


TAG: 软件测试技术 单元测试

 

评分:0

我来说两句

Open Toolbar