zoukankan      html  css  js  c++  java
  • Nodejs Mocha测试学习

    参考大神阮一峰的文章《测试框架 Mocha 实例教程

    目前在使用Nodejs,但写完的程序很容易出错,那怎么办?需要引入单元测试去做基础的测试

    目前Nodejs用来做单元测试的工具接触的不多,现在只接触到Mocha,它是用来做单元测试的最好的工具之一。

    关于Mocha的基础教程,可以看一下阮一峰老师的博客:测试框架 Mocha 实例教程

    =》基本概念:

    describe():测试区块,一个测试区块应该包含一个或多个测试区块,测试区块也是可以多层嵌套的

    it():测试用例,一个测试区块中应该包含一个或多个测试用例

    =》测试用例钩子:

    before():在本区块所有测试用例执行之前执行

    after():在本区块所有测试用例执行之后执行

    beforeEach():在本区块每个测试用例之前执行

    afterEach():在本区块每个测试用例之后执行

    =》断言库:

    chai:Mocha本身没有断言库,chai可以作为Mocha的断言库

    chai-as-promise:目前的方法很多都是Promise的方式,这个断言库可以支持到Promise

    =》测试用例管理:

    only():测试区块和测试用例都支持only方法,如果某个测试区块或测试用例调用了only方法,则在运行单元测试时只运行该测试区块或测试用例

    skip():测试区块和测试用例都支持skip方法,如果某个测试区块或测试用例调用了skip方法,则在支行单元测试时会跳过该测试区块或测试用例

    only()和skip()共存的时候,only()会把skip()的作用给忽略掉

    =》异步测试:

    在测试方法异步完成后,调用done()方法,一个it测试实例中只能有一个done()方法

    =》重新运行实例

    在运行测试实例时,我们可以让一个实例重新执行一定的次数,在describe()和it()中加入this.retries(4);,即可执行4次,但是Mocha不推荐这样的做法

    =》动太生成测试用例

    var assert = require('chai').assert;
    
    function add() {
        return Array.prototype.slice.call(arguments).reduce(function (prev, curr) {
            return prev + curr;
        }, 0);
    }
    
    describe('add()', function () {
        var tests = [
            { args: [1, 2], expected: 3 },
            { args: [1, 2, 3], expected: 6 }
        ];
    
        tests.forEach(function (test) {
            it('test adds ' + test.args.length + ' args', function () {
                var res = add.apply(null, test.args);
                assert.equal(res, test.expected);
            });
        });
    });
  • 相关阅读:
    Java集合(15)--ConcurrentHashMap源码分析
    Java集合(14)--双枢轴快速排序(DualPivotQuicksort)
    Java集合(13)--LinkedHashMap源码分析
    Java集合(12)--TreeSet源码分析
    Java集合(11)--TreeMap源码分析
    Java集合(10)--HashSet源码分析
    Java集合(9)--Collection 和 Collections
    Java集合(8)--HashMap源码分析
    day33-4用java的jdbc查看数据库中表的内容
    day33-1-1用java的jdbc添加数据库中表的内容(手动输入内容)
  • 原文地址:https://www.cnblogs.com/weschen/p/7151582.html
Copyright © 2011-2022 走看看