jest前端自动化测试(一)

jest前端自动化测试(一)

安装插件,使用前准备

使用npm命令行

npm init // 

插入jest

npm install [email protected] -D

修改package.json文件

"scripts": {
	"test": "jest --watchAll" // watchAll默认进入a模式,watch默认进入o模式,无,则一次命令一次测试
},

生成配置文件

npx jest --init

测试入门和一些使用技巧

测试命令

npm run test

查看测试代码覆盖率

npx jest --coverage

将es语法转化为commonjs(使用插件)

npm install @babel/[email protected] @babel/[email protected] -D
// 在根目录新建并配置文件.babelrc
{
    "presets": [
        [
            "@babel/preset-env",
            {
                "targets": {
                    "node": "current"
                }
            }
        ]
    ]
}

使用o模式测试

因为需要判断哪些文件发生了变化,故需要引入git仓库

git init

一些常用的匹配器

实例

toBe匹配器,匹配 6 === 6、object.is 式相等

test('加法测试6 和 6 匹配', () => {
    expect(6).toBe(6); // 在计算浮点数相等的时候,由于浮点数的溢出会造成0.1+0.2和0.3不匹配
});

其他匹配器

toEqual匹配器,匹配對象內容相等

const a = { one: 1}

test('匹配對象內容相等', () => {
    expect(a).toEqual({ one: 1}); // 在计算浮点数相等的时候,由于浮点数的溢出会造成0.1+0.2和0.3不匹配
});

有关真假的匹配器

toBeNull()
tobBeUndefined()
toBeDefined()
toBeTruthy() // 0、 false、 null、 '' 、undefined匹配不通过,其他都通过
toBeFalsy() //  0、 false、 null、 '' 、undefined则匹配成功
not // 取反逻辑,如:not.toBeFalsy() 等效于 toBeTruthy()

数字相关的匹配器

toBeGreaterThan() // received 大于期望值则匹配通过
toBeLessThan() // received 小于期望值则匹配通过
toBeGreaterThanOrEqual() // received 大于或等于期望值则匹配通过
toBeCloseTo() // received 极其接近期望值则匹配,用于匹配浮点数的相等

String、Array、Set相关匹配器

toMatch() // received 字符串中包含预期字符串
toContain() // received 数组(Array/Set)是否包含预期值(可以时多个值)

异常

toThrow() // received 抛出异常或抛出异常的内容包含预期值

更多匹配器请参考官方文档

发布了12 篇原创文章 · 获赞 8 · 访问量 531

猜你喜欢

转载自blog.csdn.net/yuanshengning/article/details/101222893