单元测试

作者: xurna | 来源:发表于2018-06-14 17:54 被阅读2次

    一、简单入门

    如果只是单纯想测试某个js函数执行的结果是否符合预期结果,可用此方法。

    1. 安装测试框架mocha和断言库chai
    npm i -g mocha chai
    

    mocha:mocha是一个基于nodejs和浏览器集合的各种特性的JavaScript测试库,并且让异步测试变得简单,支持TDD(测试驱动开发)和BDD(行为驱动开发),在测试中捕获到异常时,会给出灵活准确的报告。
    chai:chai是一个基于nodejs的断言库,并且完美支持各种主流的JavaScript测试框架。

    1. 写测试用例
      在根目录下新建一个test文件夹里面放置测试用例。
      测试模块:
    //add.js
    function add (x, y) {
      return x + y
    }
    module.exports = add
    

    测试用例:

    //add.test.js
    var add = require('./add.js')
    //Mocha本身不带断言库,所以必须先引入断言库。
    var expect = require('chai').expect
    
    describe('加法函数测试', function () {
      it('1+1=2', function () {
        expect(add(1, 1)).to.be.equal(2) //“断言”:就是判断源码的实际执行结果与预期结果是否一致,如果不一致就抛出一个错误。
      })
    })
    

    上面这段代码,就是测试脚本,它可以独立执行。测试脚本里面应该包括一个或多个describe块,每个describe块应该包括一个或多个it块。
    describe块称为"测试套件"(test suite),表示一组相关的测试。它是一个函数,第一个参数是测试套件的名称("加法函数的测试"),第二个参数是一个实际执行的函数。
    it块称为"测试用例"(test case),表示一个单独的测试,是测试的最小单位。它也是一个函数,第一个参数是测试用例的名称("1 加 1 应该等于 2"),第二个参数是一个实际执行的函数。

    1. 执行测试
      Mocha默认运行test子目录里面的测试脚本。所以,一般都会把测试脚本放在test目录里面,然后执行mocha就不需要参数了。
      --watch参数用来监视指定的测试脚本。只要测试脚本有变化,就会自动运行Mocha。
    mocha add.test.js --watch
    

    or

    mocha --watch
    

    更多细节:测试框架 Mocha 实例教程

    相关文章

      网友评论

        本文标题:单元测试

        本文链接:https://www.haomeiwen.com/subject/phoyeftx.html