博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【node】----mocha单元测试框架-----【格尔尼卡ぃ】
阅读量:6913 次
发布时间:2019-06-27

本文共 2461 字,大约阅读时间需要 8 分钟。

一、mocha简介

 

单元测试是用来对一个模块、一个函数、或者一个类来进行正确性的检测工作
 
特点:
     既可以测试简单的JavaScript函数,又可以测试异步代码,
 
     可以自动运行所有测试,也可以只运行特定的测试
 
二、编写模块代码
1 module.exports = { 2 add:function(a,b){ 3 return a+b; 4 }, 5  6 reduce:function(a,b){ 7 return a-b; 8 }, 9 10 ride:function(a,b){11 return a*b12 }13 }

三、编写测试脚本

 

1 1、全局安装mocha模块   cnpm install mocha -g 2  3 2、安装chai模块  cnpm install chai --save-dev 4  5 3、describe块称为"测试套件"(test suite),表示一组相关的测试。它是一个函数,第一个参数是测试套件的名称("加法函数的测试"),第二个参数是一个实际执行的函数。 6     it块称为"测试用例"(test case),表示一个单独的测试,是测试的最小单位。它也是一个函数,第一个参数是测试用例的名称("1 加 1 应该等于 2"),第二个参数是一个实际执行的函数。 7  8 4、在接下来的测试中我们用expect进行测试 9 10     const expect = require("chai").expect;11 12     describe("对计算器模块的测试",function(){13             //对模块的测试放在it里面14             it("测试加法",function(){15                 16                 //相等不相等的判断17                         //测试:断定add方法1+2的值是318                         expect(calculator.add(1,2)).to.equal(3)19 20                         //测试:断定add方法1+2的值不等于321                         expect(calculator.add(1,2)).to.not.equal(10)22 23 24                 //类型的判断25                         //测试:断定add方法的返回值得类型是number26                         expect(calculator.add(1,2)).to.be.a("number");27 28                         //测试:断定这个值得类型是一个对象29                         expect({name:"zhao"}).to.be.an("Object");30 31                         //测试:断定这个值得类型是一个数组32                         expect([1,2,3]).to.be.an("array");33 34                 //长度的判断35                         //测试:断定str方法的返回值的长度是336                         expect(calculator.str()).to.have.lengthOf(3);37 38 39                 //是否存在的判断40                         //测试:断定obj方法的返回值得属性中有name这个属性41                         expect(calculator.obj()).to.have.property("name");42 43                         //测试:断定这个值里面有3这个值44                         expect([1,2,3,4]).to.include(3);45 46                         //测试:断定这个值的内容值有o这个字符47                         expect("zhao").to.contain("o");48 49 50                 //布尔值的判断51                         //测试:断定这个值得布尔值的类型是true52                         expect("abc").to.be.ok;53 54                         //测试:断定这个值得布尔值的类型不是true55                         expect("").to.be.not.ok;56             })57     })58 59 mocha还可以监听脚本的变化  mocha --watch60 61  62 基本上,expect断言的写法都是一样的。头部是expect方法,尾部是断言方法,比如equal、a/an、ok、match等。两者之间使用to或to.be连接。63 详情请参考:http://www.ruanyifeng.com/blog/2015/12/a-mocha-tutorial-of-examples.html

 

 

 

转载于:https://www.cnblogs.com/Guernicas/p/9865522.html

你可能感兴趣的文章
WCF WinCE 中 手机端 非字符串型 datetime,int,decimal,double 等等 传递不到WCF端的解决方案...
查看>>
iis6.0 之前版本发布silverlight程序 注意事项
查看>>
SQL SERVER 2008中启用相应的功能
查看>>
Implementing a small Cron service in C# - CodeProject
查看>>
poj-2155(二维树状数组)
查看>>
Spring MVC视图解析器:Spring MVC XmlViewResolver示例
查看>>
Managing Users
查看>>
JavaScript用JQuery呼叫Server端方法
查看>>
REST::Neo4p – PERL版本的”OGM”
查看>>
ORA-19808错误一例
查看>>
DirectShowNet 使用摄像头录像+录音
查看>>
Oracle、SQL Server、MySQL数据类型对比
查看>>
php开n次方
查看>>
eclipse自动补全的设置
查看>>
Delphi的三目运算 ifthen 和iif
查看>>
libcurl多线程超时设置不安全(转)
查看>>
3种web会话管理的方式
查看>>
Atitit 常用比较复杂的图像滤镜 attilax大总结
查看>>
ife任务刷题总结(一)-css reset与清除浮动
查看>>
JSContext
查看>>