入门必读测试技术之教你如何进行Jest单元测试
白羽 2018-06-12 来源 :网络 阅读 1065 评论 0

摘要:本文将带你了解测试技术之教你如何进行Jest单元测试,希望对大家学测试技术有所帮助。


  为何要进行单元测试?编写单元测试可以给你带来很多好处:

  ●将测试自动化,无需每次都人工测试。

  ●变更检查,当代码发生重构,可以及时发现,并做出相应的调整。

  ●列举测试用例,可以帮你了解所有的边界情况。

  ●当作文档,如果你的测试描述足够详细,生成的测试报告甚至可以当作文档。

  总之,单元测试会让你的生活更加美好。

 

  使用 Jest 进行单元测试

  编写测试通常都会基于某个测试框架,在众多测试框架中我选择了 Jest,不仅因为我是个 React 开发者(React 与 Jest 都是

Facebook 出的),而且因为它确实简单好用。让我们开始编写测试吧!

  首先,安装 Jest:

  npm install --save-dev jest

  然后,编写一个待测试的文件,以Stack类为例:

  Stack.js

  function Stack() {

  // 私有变量 items,用于记录数组,对象不能直接操作

  var items = [];

  // 类方法 push,在数组末尾添加项,对象可以直接调用

  this.push = function (element) {

  items.push(element);

  };

  // 删除并返回数组末尾的项

  this.pop = function () {

  return items.pop();

  };

  }

  接下来,编写一个测试文件 Stack.test.js:

  Stack.test.js

  // 导入 Stack

  var Stack = require('./Stack');

  test('Stack', function () {

  // 实例化一个 stack 对象

  var stack = new Stack();

  stack.push(8);

  // 期望 stack 最后一项是8

  expect(stack.pop()).toBe(8);

  });

  然后,在 package.json 中添加:

  "scripts": {

  "test": "jest"

  }

  最后,打开命令行运行:

  npm test

  结果会在命令行中生成测试报告:

  PASS Stack.test.js

  Test Suites: 1 passed, 1 total

  Tests: 1 passed, 1 total

  Snapshots: 0 total

  Time: 0.386s

  Ran all test suites.

  断言简介

  在上面的测试代码中有个 expect().toBe()

来判断结果是否是预期,这叫断言。什么是断言?在程序设计中,断言(assertion)是一种放在程序中的一阶逻辑(如一个结果为真或是假的逻辑判断式),目的是为了标示与验证程序开发者预期的结果。除了expect().toBe()

之外,其他常用的断言包括:

  expect().toEqual():判断结果是否和预期等价。

  expect().toBeFalsy():判断结果是否为假。

  expect().toBeTruthy():判断结果是否为真。

 


本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标软件测试之测试技术频道!


本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程