软件测试自动化测试软件测试

mocha 自动化测试

2018-09-18  本文已影响4人  whiteMu

mocha是一个javascript的测试框架,需要在node环境或浏览器环境下运行,这里我只学习了node的环境下运行测试代码。

mocha是一个比较流行的测试框架,是用于运行测试的工具。mocha本身不具备断言库,所以必须引入断言库,这里选用的断言库是chai

一、关于mocha的安装

1.即使在package.json配置了mocha,也进行了npm install安装所有的依赖包,但是还是会报错:'mocha' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

解决方法:

  npm install --save mocha

2.即使在项目中安装了局部mocha,但是运行mocha还是会报错:mocha : 无法将“mocha”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正 确,然后再试一次。

解决方法:全局安装mocha

 npm install --global mocha

二、关于断言库chai的安装

1.命令行安装:npm install chai

三、编写测试脚本

例,

1.有个模块js为add.js

//add.js
 function add(x,y){
       return x+y;
 }
 module.exports = add;

2.为add.js模块编写测试文件,文件命名规范为测试模块文件名+.test,如add.js的测试脚本命名为add.test.js

//add.test.js
var add = require('./add.js');                    //将待测试文件引入
var expect = require('chai').expect;              //引入断言库,指定使用它的expect断言风格
describe("加法函数测试", function() {              //测试套件
    it("1加1应该等于2", function() {               //测试用例
         expect(add(1, 1)).to.be.equal(2);        //断言
    })
})

四、运行测试脚本

1.cd进入测试文件对应文件夹,输入命令 mocha add.test.js

test.js.png

运行结果:一共有1条通过测试,耗时6ms

五、mocha的4个钩子函数

mocha在describe中定义了4个钩子函数,分别是before(),after(),beforeEach(),afterEach()。

describe("mocha钩子函数",function(){
    before(function(){
      //本块代码会在所有测试用例执行之前执行
     });

    after(function(){
          //本块代码会在所有测试用例执行之后执行
     });

    beforeEach(function(){
          //本块代码会在每个测试用例执行之前执行
     });

    afterEach(function(){
          //本块代码会在每个测试用例执行之后执行
     });
})

六、总结

本文仅仅是描述如何搭建测试环境以及测试框架的简单用法,对于mocha的其他用法,还有chai断言库的语法等等需自行查阅相关文档,这里不再赘述。

上一篇 下一篇

猜你喜欢

热点阅读