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

发表于:2018-1-30 11:40

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:S__J    来源:简书

  前言:最近要求要写单元测试了,可是对单元测试并没有什么了解,于是赶紧各种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/

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号