扣丁学堂软件测试培训之Jest单元测试入门

2018-02-07 15:08:18 736浏览

今天扣丁学堂给大家介绍的是软件测试之Jest单元测试入门首先在学习Jest之前,我们需要回答一个问题:为何要进行单元测试?编写单元测试可以给你带来很多好处:

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

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

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

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

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



使用Jest进行单元测试

编写测试通常都会基于某个测试框架,在众多测试框架中我选择了Jest,不仅因为我是个React开发者(React与Jest都是Facebook出的),而且因为它确实简单好用。让我们开始编写测试吧!

首先,安装Jest:

npminstall--save-devjest

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

Stack.js

functionStack(){

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

varitems=[];

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

this.push=function(element){

items.push(element);

};

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

this.pop=function(){

returnitems.pop();

};

}

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

Stack.test.js

//导入Stack

varStack=require('./Stack');

test('Stack',function(){

//实例化一个stack对象

varstack=newStack();

stack.push(8);

//期望stack最后一项是8

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

});

然后,在package.json中添加:

"scripts":{

"test":"jest"

}

最后,打开命令行运行:

npmtest

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

PASSStack.test.js

TestSuites:1passed,1total

Tests:1passed,1total

Snapshots:0total

Time:0.386s

Ranalltestsuites.

断言简介

在上面的测试代码中有个expect().toBe()来判断结果是否是预期,这叫断言。什么是断言?在程序设计中,断言(assertion)是一种放在程序中的一阶逻辑(如一个结果为真或是假的逻辑判断式),目的是为了标示与验证程序开发者预期的结果。除了expect().toBe()之外,其他常用的断言包括:

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

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

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

以上就是关于软件测试培训之Jest单元测试入门的详细介绍,最后想要了解更多关于软件测试培训发展前景趋势,请关注扣丁学堂官网、微信等平台,扣丁学堂IT职业在线学习教育平台为您提供权威的软件测试视频教程系统,通过千锋扣丁学堂金牌讲师在线录制的软件测试在线视频教程,让你快速掌握软件测试从入门到精通开发实战技能。



扣丁学堂微信公众号



关注微信公众号获取更多学习资料



查看更多关于“软件测试技术资讯的相关文章>>

标签: 软件测试培训 软件测试工程师 软件测试在线视频 软件测试视频教程 软件测试教程 白盒测试 黑盒测试

热门专区

暂无热门资讯

课程推荐

微信
微博
15311698296

全国免费咨询热线

邮箱:codingke@1000phone.com

官方群:148715490

北京千锋互联科技有限公司版权所有   北京市海淀区宝盛北里西区28号中关村智诚科创大厦4层
京ICP备12003911号-6   Copyright © 2013 - 2019

京公网安备 11010802030908号