美文网首页
weex项目使用jest编写简单的单元测试

weex项目使用jest编写简单的单元测试

作者: S__J | 来源:发表于2018-01-30 11:32 被阅读115次

    前言:最近要求要写单元测试了,可是对单元测试并没有什么了解,于是赶紧各种google。
    最后简单的来说,就是与真实业务逻辑代码完全隔离的另一份差不多相同的代码,这些代码就叫测试代码,可以单独只测试一个方法,一个组件,或者对一个小功能模块的测试,在你的真实业务逻辑代码运行时先运行与之对应的测试代码,看是否达到了预期的要求,做到真实运行前知道错误并且处理。
    比如,要测试一个求和的方法,传入2+2,是否进行了正确的相加计算并返回了自己期望的正确的值呢?
    开始:jest,是一个专门对javascript代码进行测试的,以前是fecebook自家的,后来开源了,用的人也不少,功能很强大,
    使用npm安装:
    npm install --save-dev jest

    或者通过yarn安装:
    yarn add --dev jest

    将下面的配置部分添加到你的 package.json 里面:
    {
    "scripts": {
    "test": "jest"
    }
    }
    好了,就是这么简单,安装完成了!
    开始编写测试代码:
    在项目中新建文件夹:test 测试的代码会全部写在这里,命名格式为,如要测试a.js,相对应的测试代码就是a.test.js,

    image.png
    image.png
    完成后如图。
    简单的例子,求两个数相加,是否是我期待的和:
    image.png
    image.png
    要测试的和与之对应的测试代码写好后,运行:npm test
    image.png
    测试通过!没有报错,看了这个方法还是可靠的,那么将toBe(4)改成5,来看看他是如何报错的。
    image.png
    报错是不是很精准?
    jest使用匹配器让你来用不同的方式测试值,不同作用的匹配器太多了,比如:
    toBeNull 只匹配 null
    toBeUndefined 只匹配 undefined
    toBeDefined 与 toBeUndefined 相反
    toBeTruthy 匹配任何 if 语句为真
    toBeFalsy 匹配任何 if 语句为假
    还有其他相对应的string,array,object的匹配器,还有其他如当你运行异步代码时,Jest 需要知道它当前测试的异步代码什么时候完成,才可以运行到下一个测试,最后jest官网在此(支持中文):https://facebook.github.io/jest/zh-Hans/

    相关文章

      网友评论

          本文标题:weex项目使用jest编写简单的单元测试

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