美文网首页
测试框架mocha初试

测试框架mocha初试

作者: hutn | 来源:发表于2018-11-09 18:55 被阅读0次

    一、安装

    使用npm全局安装:
    npm i mocha -g

    也可以作为项目的依赖进行安装:
    npm i mocha -D

    二、开始编辑

    创建test文件夹,在文件夹内创建test.js测试文件:
    mkdir test
    cd test
    touch test.js

    将代码写入test.js文件中:
    var assert = require('assert')

    describe('Array', function() {
    describe('#indexOf()', function() {
    it('should return -1 when the value is not present', function() {
    assert.equal(-1, [1, 2, 3].indexOf(4))
    })
    })
    })

    describe('assert', function () {
    it('a和b应当深度相等', function () {
    var a = {
    c: {
    e: 1
    }
    }
    var b = {
    c: {
    e: 1
    }
    }
    assert.deepEqual(a, b)
    })

    it('可以捕获并验证函数fn的错误', function () {
    function fn() {
    xxx;
    }
    assert.throws(fn)
    })
    })

    三、运行

    package.json文件写入:
    "scripts": {
    "test": "mocha"
    }
    运行:
    npm run test

    四、运行结果

    test.png

    五、测试脚本解析

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

    六、断言

    mocha支持任何可以抛出一个错误的断言模块。例如:should.js、better-assert、expect.js、unexpected、chai等这些断言库各有各的特点,根据使用场景来选择断言库。
    上面例子里使用的断言库使用的是node的内置模块assert。下面为asser常用函数:
    assert.ok(value[, message]):测试参数value是否为true。eg:
    assert.ok(0,'is wrong')
    //AssertionError [ERR_ASSERTION]: is wrong

    assert.equal(actual, expected[, message]):判断实际值actual和期望值expected是否相等。eg:
    assert.equal(1, "2","This test is wrong");
    //AssertionError [ERR_ASSERTION]: This test is wrong

    assert.deepEqual(actual, expected[, message]):执行深度比较,判断实际值actual和期望值expected是否相等。eg:
    let list1 = [1, 2, 3, 4, 5];
    let list2 = [1, 2, 3, 4, 5];
    assert.deepEqual(list1, list2, '预期两个数组应该有相同的属性');

    assert.throws(block[, error][, message]):声明一个block用来抛出错误(error),error可以是构造函数,正则表达式或其他验证器。eg:
    assert.throws(
    function() {
    throw new Error("Wrong value");
    },
    Error,
    '不符合预期的错误类型'
    );

    相关文章

      网友评论

          本文标题:测试框架mocha初试

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