单元测试环境搭建

单元测试的原则

  • Redux的功能由众多函数组成,这些函数中不少依然是纯函数,测试一个根据输入返回输出的纯函数,要比测试一个包含很多状态的对象容易得多。

单元测试环境搭建

单元测试框架
  • Mocha + Chai
  • create-react-app创建的应用中自带了Jest库
    使用npm run test就会进入单元测试的界面
  • Jest测试一个根据输入返回输出的纯函数,要比测试一个包含很多状态的对象容易得多
    文件名以.test.js为后缀的代码文件;
    存于__test__目录下的代码文件。
两种测试代码的组织方式
  • 是在项目的根目录上创建一个名为test的目录,和存放功能代码的src目录并列,在test目录下建立和src对应子目录结构,每个单元测试文件都以.test.js后缀,就能够被Jest找到
    功能代码在src/todo/actions.js文件中,对应的单元测试代码放在test/todo/actions.test.js文件中
    缺点:在actions.test.js文件中导入被测试的功能代码,就需要一个很长的路径名在这里插入图片描述
  • 在每一个目录下创建__test__子目录,用于存放对应这个目录的单元测试
    缺点:不整洁

单元测试代码组织

  • 测试用例:it函数代表,it函数的第一个参数是一个字符串,代表的就是测试用例名称,第二参数是一个函数,包含的就是实际的测试用例过程
    在这里插入图片描述
  • 测试套件:一个测试套件由测试用例和其他测试套件构成
    将多个it放到一个describe中的主要目的是为了重用共同的环境设置
    在这里插入图片描述
  • describe中有如下特殊函数可以帮助重用代码
    □ beforeAll,在开始测试套件开始之前执行一次;
    □ afterAll,在结束测试套件中所有测试用例之后执行一次;
    □ beforeEach,每个测试用例在执行之前都执行一次;
    □ afterEach,每个测试用例在执行之后都执行一次。

辅助工具

Enzyme
  • 安装:
    在这里插入图片描述
  • Enzyme支持三种渲染方法
    在这里插入图片描述
sinon.js
  • 安装:
    在这里插入图片描述
  • 作用:模拟工具(例如模拟网络访问的结果)
redux-mock-store
  • 安装:
    在这里插入图片描述
  • 作用:从测试角度并不需要action对象被派发到reducer中,只要能够检查action对象被派发就足够了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值