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', '主动抛出错误') // }) })