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

发表于:2021-4-29 09:15

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:胖虎喜欢静香    来源:掘金

  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

      本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号