主要用于测试,达不到预期时抛出错误:
-
assert(value[, message]);
- 参数说明:assert( 表达式, "错误时的提示" );
- 说明:表达式返回true,即达预期
var assert = require('assert');
function add (a, b) {
return a + b;
}
var expect = add(1, 2);
assert(expect === 3, '预期1加2等于3'); //当expect === 3返回false时,抛出错误
-
assert.equal(actual, expected[, message]);
- 参数说明:assert.equal(实际值, 预期值, "错误时的提示");
- 说明:实际值==预期值,即达预期
var assert = require('assert');
function add (a, b) {
return a + b;
}
var expect = add(1, 2);
assert.equal(expect, 3, '预期expect等于3'); //如果expect==3为true,通过
-
assert.deepEqual(actual, expected[, message]);
- 参数说明:assert.deepEqual(实际值, 预期值, "错误时的提示"]);
- 说明:判断两个引用(包括它们的子孙引用)的属性或元素相等。(注意:它们的子孙引用中不可以有函数引用)
const assert = require('assert');
//数组判断:
let arr = [1,2,3];
assert.deepEqual(arr, [1,2,'3'], '预期两个引用应该有相同的属性'); //true
let arr1 = [1,{name:"a"}];
assert.deepEqual(arr1, [1,{name:"a"}], '预期两个引用应该有相同的属性'); //true
//对象判断:
let obj = {name:"a"};
assert.deepEqual(obj, {name:"a"}, '预期两个引用应该有相同的属性'); //true
let obj1 = {arr:[1,2,3]};
assert.deepEqual(obj1, {arr:[1,2,'3']};, '预期两个引用应该有相同的属性'); //true
let obj2 = {fn:function(){}};
assert.deepEqual(obj2, {fn:function(){}};, '预期两个引用应该有相同的属性'); //有函数引用抛出错误error
-
assert.deepStrictEqual(actual, expected[, message]);
- 参数说明:assert.deepStrictEqual(实际值, 预期值, "错误时的提示");
- 说明:和assert.deepEqual类似,assert.deepStrictEqual对比属性的全等于(===),assert.deepEqual对比属性的相对等于(==)
const assert = require('assert');
assert.deepStrictEqual([1,2],[1,2],"错误提示"); //true
assert.deepStrictEqual([1,2],[1,'2'],"错误提示"); //抛出error