React总结篇之八_单元测试

发布时间:2020-04-22 16:38:34 作者:cylcyl647308
来源:网络 阅读:656

一、单元测试的原则
从不同的角度,可以将测试划分为如下不同的种类:

单元测试是一种自动化测试,测试代码和被测的对象非常相关,比如测试React组件的代码就和测试jQuery的插件的代码完全不是一回事。
单元测试代码一般都由编写对应功能代码的开发者来编写,开发者提交的单元测试代码应该保持一定的覆盖率,而且必须永远能够运行通过。可以说,单元测试是保证代码质量的第一道防线。

开发者应该注意:
首先,即使单元测试覆盖率达到100%,也不表示程序是没有bug的;
另外,程序架构的可测试性非常重要,需要架构能把程序拆分成足够小到方便测试的部分,只要每个小的部分被验证能够正确的各司其职,组合起来能够完成整体功能,那么开发者编写的单元测试就可以专注于测试各个小的部分就行,这就是更高的可测试性。


二、单元测试环境搭建

  1. 单元测试框架
    常见的是以下两种:
    • 用Mocha测试框架,但是Mocha并没有断言库,所以往往还要配合Chai断言库来使用,也就是Mocha+Chai的组合。
    • 使用React的本家Facebook出品的Jest,Jest自带了断言等功能,相当于包含了Mocha和Chai的功能,不过Jest和Chai并不一致。

create-react-app创建的应用中自带了Jest库,Jest会自动在当前目录下寻找满足下列任一条件的JavaScript文件作为单元测试代码来执行:

  1. 单元测试代码组织
    单元测试代码的最小单位是测试用例,每一个测试用例考验的是被测试对象在某一特定场景下是否有正确的行为。在Jest框架下,每个测试用例用一个it函数代表,it函数的第一个参数是一个字符串,代表的是测试用例名称,第二个参数是一个函数,包含的就是实际的测试用例的过程。一个很简单的单元测试用例代码如下:
    it(’should return object when invoked',()=>{
    //增加断言语句
    });

组织多个it函数实例,即测试套件。
在Jest中用describe函数描述测试套件,一个测试套件的代码如下:
describe('actions',()=>{
it('should return object when invoked',()=>{});
//可以有更多的it函数调用
})

describe函数包含与it函数一样的参数,两者主要的区别就是describe可以包含it或者另一个describe函数调用,但是it却不能。
describe中有如下特殊函数可以帮助重用代码:

  1. 辅助工具
推荐阅读:
  1. 『高级篇』docker之springboot,springcloud(八)
  2. Flutter第八期 - 控件总结篇

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

react redux ct

上一篇:玩转树莓派——升级NOOBS离线安装介质到Raspbian 4.9和Windows 10 IoT C

下一篇:举例某企业MySQL数据库云服务器需要设计一个脚本

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》