ant design pro自动化测试 jest

1.文档说明
1.1. 前言
基于React+Ant Design(以下用Antd表示)的项目,在对于自己封装的,或者基于Antd封装的公共组件的自动化测试技术的选型和实践。
1.2. 适用范围
读者:公牛智能家居前端开发者。
1.3. 相关背景
随着前端项目越来越大,业务逻辑日益繁杂,协同开发的同事也越来越多,迭代频繁,许多页面有一些相似的功能,会复用一些组件,这些组件被剥离出来,一般放在component文件夹下,大家共同维护,这时会出现一些常见问题:

  • 从代码层面看,我们必须保证当前组件的质量,即当前业务的正常使用
  • 在新需求下,旧组件如果能满足新需求50%以上的功能,应当升级旧组件满足新需求,同时兼容旧业务
  • 除该组件Owner之外第二人,在修改组件的过程中,避免因为对代码的不熟悉,改出BUG
  • 一个组件多个页面复用,修改后的测试回归任务重
    1.4. 单元测试的好处
  • 测试用例代码跟项目代码完全分离,但是能检验当前组件的质量、健壮性,保证业务能够正常使用
  • 降低项目多处使用的公共组件修改后,测试回归任务重(改一处测多处)的问题
  • 减少不必要的console.log或者debug,提升维护体验
  • 对开发人员来说,写测试用例可以适量提升对代码实现的理解

1.5. 为何选用jest
*方便的异步测试
*snapshot功能
*集成断言库,不许要引用其他第三方库
*对React天生支持
1.6. React项目单元测试框架Jest简介

  • 源自Facebook,Jest的一个理念是提供一套完整集成的零配置测试体验,开箱即用。
  • 包含单元测试Mocha,chai,jsdom,sinon,mock等功能
  • 内置代码覆盖率报告
  • 可以与TypeScript一同使用

1.7. jest的断言
jest针对为实现某些业务逻辑而封装的函数,设定多种可能的输入,判断是否准确地返回了期望值
expect({a:1}).toBe({a:1})//判断两个对象是否相等
expect(1).not.toBe(2)//判断不等
expect(n).toBeNull(); //判断是否为null
expect(n).toBeUndefined(); //判断是否为undefined
expect(n).toBeDefined(); //判断结果与toBeUndefined相反
expect(n).toBeTruthy(); //判断结果为true
expect(n).toBeFalsy(); //判断结果为false
expect(value).toBeGreaterThan(3); //大于3
expect(value).toBeGreaterThanOrEqual(3.5); //大于等于3.5
expect(value).toBeLessThan(5); //小于5
expect(value)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值