Jest入门

376 阅读1分钟

jest是什么?

目前最为流行的前端测试框架,可以用于单元测试和系统

jest的安装

在开发环境安装jest

npm install jest -D

初始化jest配置

npx jest --init

在package.json里添加test命令

"scripts": {
    "test":"jest",
    //"test": "jest --watchAll", //持续监听
},

js测试的内容?

js对象 导出的函数

生成/查看测试覆盖率

npx jest --coverage

jest中的匹配器

toBe()

相当于 ===

test('测试严格相等',()=>{
    const a = {number:'007'}   
    expect(a).toBe({number:'007'})
})

上面的结果是fail

toEqual()

相当于 ==

test('测试严格相等',()=>{
    const a = {number:'007'}   
    expect(a).toEqual({number:'007'})
})

上面的结果是passed

toBeNull()

匹配null

test('toBeNull测试',()=>{
    const a = null   
    expect(a).toBeNull()
})

toBeUndifined()

匹配undefined

test('toBeUndefined测试',()=>{
    const a = undefined   
    expect(a).toBeUndefined()
})

toBeDefined()

只要定义过了,都可以匹配成功

test('toBeDefined测试',()=>{
    const a = 'jspang'  
    expect(a).toBeDefined()
})

toBeTruthy()   toBeFalsy()

匹配true 和false ,相当于判断真假

test('toBeTruthy 测试',()=>{
    const a = 0
    expect(a).toBeTruthy()
})

fail

test('toBeFalsy 测试',()=>{
    const a = 0
    expect(a).toBeFalsy()
})

passed

toBeGreaterThan()

大于传入的数值

test('toBeGreaterThan匹配器',()=>{
    const count = 10
    expect(count).toBeGreaterThan(9)
})

toBeLessThan()

小于传入的数值

test('toBeLessThan匹配器',()=>{
    const count = 10
    expect(count).toBeLessThan(11)
})

toBeGreaterThanOrEqual()   toBeLessThanOrEqual()

大于等于传入的数值 ,小于等于传入的数值

test('toBeGreaterThanOrEqual匹配器',()=>{
    const count = 10
    expect(count).toBeGreaterThanOrEqual(10)
})
test('toBeGreaterThanOrEqual匹配器',()=>{
    const count = 9
    expect(count).toBeLessThanOrEqual(10)
})

toBeCloseTo()

消除浮点精度并判断相等

test('toEqual匹配器',()=>{
    const one = 0.1
    const two = 0.2
    expect(one + two).toEqual(0.3)
}

failed

test('toBeCloseTo匹配器',()=>{
    const one = 0.1
    const two = 0.2
    expect(one + two).toBeCloseTo(0.3)
})

passed