NodeJS—Assert使用示例

NodeJs中Assert断言库的使用示例:

 

从中可以找到一些规律:

  • equal、notEqual、deepEqual、notDeepEqual:使用'=='比较符进行比较。即:不含strict的方法,使用的都是'=='比较符。
  • strictEqual、notStrictEqual、strictDeepEqual、notStrictDeepEqual:使用'==='比较符进行比较。即:含strict的方法,使用的都是'==='比较符。

 

describe('Assert用法测试', function () {

    var obj1 = {
        name: '111',
        parent: {
            mother: '222'
        }
    }

    var obj2 = {
        name: '111',
        parent: {
            mother: '222'
        }
    }

    var obj3 = {
        name: '333'
    }

    var obj4 = {
        name: 333
    }

    it('assert.ok', function () {
        var msg = '值应为真'
        assert.ok(true, msg)
        assert.ok('1', msg)
        assert.ok(1, msg)
    });

    it('assert.equal', function () {
        assert.equal(1, '1', '两个值应相等。使用\'==\'进行比较')
    })

    it('assert.notEqual', function () {
        assert.notEqual(1, 2, '两个值应不相等。使用\'!=\'进行比较')
    })

    it('assert.deepEqual', function () {
        assert.deepEqual(obj1, obj2, '两个对象中的属性应深度全等。使用\'==\'进行比较')
    })

    it('assert.notDeepEqual', function () {
        assert.notDeepEqual(obj1, obj3, '两个对象中的属性应深度不全等。使用\'!=\'进行比较')
    })

    it('assert.strictEqual', function () {
        var msg = '两个值应相等。使用\'===\'进行比较'
        assert.strictEqual(1, 1, msg)
        assert.strictEqual('1', '1', msg)
        assert.strictEqual(true, true, msg)
    })

    it('assert.notStrictEqual', function () {
        var msg = '两个值应不相等,或值为不同类型。使用\'!==\'进行比较'
        assert.notStrictEqual(1, '1', msg)
        assert.notStrictEqual(1, 2, msg)
    })

    it('assert.deepStrictEqual', function () {
        assert.deepStrictEqual(obj1, obj2, '两个对象中的属性应深度全等,并且对应的值为同一类型。使用\'===\'进行比较')
    })

    it('assert.notDeepStrictEqual', function () {
        assert.notDeepStrictEqual(obj4, obj3, '两个对象中的属性应深度不全等,或对应的值为不同类型。使用\'!==\'进行比较')
    })

    it('assert.throws', function () {
        // 方法中应当抛出对应错误信息
        assert.throws(function () {
            throw '错误信息'
        }, /错误信息/)
    })

    it('assert.doesNotThrow', function () {
        // 方法中不应抛出对应错误
        assert.doesNotThrow(function () {
            var a = 1 + 1;
        }, RangeError, '抛出了RangeError错误')
    })

    it('assert.ifError', function () {
        // 参数为真是,抛出错误;为假时,测试通过
        assert.ifError(false)
    })

    // it('assert.fail', function () {
    //     assert.fail(1, '1', '主动抛出错误')
    // })

})

 

posted @ 2017-08-31 14:30  Ch11ry  阅读(935)  评论(0编辑  收藏  举报