jest basic section

一、初始化项目

1. 创建文件夹jest-sample

2.初始化项目(npm下载包文件)npm init

3. 下载npm依赖包

npm install jest -D

二、简单的测试案例

main.js

//在node环境中,使用的是commonJs规范
function add(a, b) {
    return a + b
}
module.exports = {add}

main.test.js(根据jest默认配置,自动匹配test.js文件)

const math = require('./main.js');
const {add} = math;

test('test add', () => {
    expect(add(3,7)).toBe(10);
})

三、简单配置

 npx jest --init

commonJS module->es module

{
    "presets": [
        [
            "@babel/preset-env",
            {
                "targets": {
                    "node": "current"
                }
            }
        ]
    ]
}
// npm run jest 
// jest(babel-jest), 检测是否安装babel
// babel-core
// 获取babel配置
//运行代码之前进行转换

四、jest匹配器

  • toBe(对象引用地址以及内容相等)
  • toEqual(对象内容相等)
  • toBeNull
  • toBeUndefined
  • toBeTruthy
  • toBeFalsy
  • not
  • toBeGreaterThan
  • toBeLessThan
  • toBeGreaterThanOrEqual
  • toBeCloseTo
  • toMatch(String)
  • toContain(Set, Array)
  • toThrow

五、jest命令行工具

npm run jest --watchAll 显示所有命令

  • f(执行上次失败的测试案例,按f退出该命令)
  • o(执行发生变化的文件--watch默认进入模式)git initç
  • a(--watchAll)
  • p(根据正则表达式(匹配测试用例文件名)监听测试文件)
  • t(根据正则表达式(匹配测试用例名字)监听测试文件)
  • q(退出监听模式)

六、jest中的钩子函数

 如果在测试之前需要做一些初始化准备,使用jest的钩子函数。

  • beforeAll
  • beforeEach
  • test
  • afterEach
  • afterAll

分组:describe

作用域

七、测试异步代码

done()

assertions(1)

resolves

rejects

async await

八、jest mock

  • jest.fn()
  • jest.mock()
原文地址:https://www.cnblogs.com/Nyan-Workflow-FC/p/12818455.html