Javascript单元测试工具— Jest 初步应用

品味人生 • 发布于 2019-02-01 21:37:02

这个家伙很害羞,不想介绍自己!

今天简单介绍下Jest 。Jest 是Facebook的一个专门进行Javascript单元测试的工具,之前仅限他们的前端工程师在公司内部使用,后来开源出来,它是在Jasmine测试框架上演变开发而来,使用了我们熟知的expect(value).toBe(other) 这种断言格式。
Jest是一种很容易使用的测试工具,下面我们分几个小步骤来实际操作一下吧。

首先我们需要新建一个js文件名为sum,如下:

这里有一个非常简单的javascript函数,他有2个参数,当然实际情况不可能这么简单,纯属为了学习使用 jest。现在呢,我们想给他进行一个单元测试,How to do it !
我们只需要四个步骤:
1.根据官方的要求我们需要创建一个名为"__tests__"的文件夹。 然后我们在这个文件夹下在创建一个名为"sum-test.js"的文件,代码如下:

2.我们需要在命令行下敲一行代码(我的是linux系统): npm install  jest-cli  --save-dev

3.创建package.json文件(这个文件与__tests__文件夹并列)。

其中package.json的代码:

{
"scripts": {
"test": "jest"
}
}

4.我们执行命令 "npm test"  或  "jest"。

到现在我们已经成功的对我们sum.js 进行了单元测试,只要是显示绿色的就表示通过了。你可能会问,没通过会显示什么?很好的问题,我们特意改错来跑一下就可以了。我们在上面sum-test.js程序中修改 toBe(3) 为 toBe(4) 试一下:

矣,报出了红色的错误,上面还提示我们,我们运行程序所获得的值Expected是3,而我们要的值toBe是4,显然不正确,所以提示错误信息。还告诉我们出错位置在sum-test.js程序的第8行22列,这样我们就可以快速去查找修复了。是不是很智能很好玩呢!

当然上面只是简单的介绍使用,对于入门来讲还是很重要的,特此分享给大家,大家有几乎可以尝试一下下!