美文网首页
02|初识jest

02|初识jest

作者: 雪燃归来 | 来源:发表于2020-05-21 20:31 被阅读0次

    在上篇文章中,我们通过封装代码的方式,实现了我们的代码测试。从本片文章中,我们将引入正式引入jest,开启jest的测试之旅。

    一、安装jest以及配置运行环境

    安装jest非常简单,可以通过yarn和npm进行安装

    npm install jest
    yarn add jest
    

    然后在package.json中的scripts中添加运行时命令

    "scripts": {
        "test": "jest"
      },
    

    这样,我们就可以非常愉悦的使用npm run test 来启动我们的程序了。但是,我们发现,程序挂了,报错说test' is not defined 。经过排查,是jest祝版本号变动引起的错误,我们应该将npm的版本号降到24.8.0才能进行。所以我们还需要手动降低一下jest包的版本。

    二、编写测试文件

    测试文件跟上一篇文章的差别不大。项目目录一致,这里就简单把相关的代码贴出一下。

    main.js

    function add(a, b){
        return a + b
    }
    
    function sub(a, b){
        return a - b
    }
    
    function mutil(a, b){
        return a * b
    }
    
    module.exports = {
        add,
        sub,
        mutil
    }
    

    main.test.js

    const { add, sub, mutil } = require('./math')
    
    test('测试加法 3 + 7', () => {
        expect(add(3,7)).toBe(10)
    })
    
    test('测试减法 4 - 1',() => {
        expect(sub(4,1)).toBe(3)
    })
    
    test('测试乘法 3 * 3',() => {
        expect(mutil(3,3)).toBe(9)
    })
    

    运行 npm run test,显示很完美。

    image.png

    我们将math.js中的任一方法修改,再来查看一下运行结果

    function mutil(a, b){
        return a + b
    }
    
    image.png

    报错信息也很完善~~~

    三、jest的更多配置

    我们可以通过npm run jest来运行测试用例,这是因为jest内部设置一些默认的配置信息,这跟webpack比较类似,要实现更所的配置,我们可以将jest的配置文件暴露出去。使用下面的命令:

    npx jest --init
    
    image.png
    npx jest --coverage
    
    npm install @babel/core@7.4.5 @babel/preset-env@7.4.5 -D
    

    .babelrc

    {
        "presets":[
            ["@babel/preset-env", {
                "targets": {
                    "node": "current"
                }
            }]
        ]
    }
    

    npm run jest
    jest (babel-jest)
    babel-core
    取.babelrc的配置
    在运行测试之前,结合babel,先把你的代码一次性转化
    运行转化后的测试用例代码
    math.test.js

    import { add, sub, mutil } from './math'
    
    test('测试加法 3 + 7', () => {
        expect(add(3,7)).toBe(10)
    })
    
    test('测试减法 4 - 1',() => {
        expect(sub(4,1)).toBe(3)
    })
    
    test('测试乘法 3 * 3',() => {
        expect(mutil(3,3)).toBe(9)
    })
    

    流程:
    npm run test
    jest (babel-jest)
    babel-core
    取 .babelrc 配置
    在运行测试之前,结合babel,先把你的代码做一次转化
    运行转化过的测试用例代码

    相关文章

      网友评论

          本文标题:02|初识jest

          本文链接:https://www.haomeiwen.com/subject/shvxohtx.html