Node.js - assert.notEqual() 函数



Node.js assert.notEqual() 函数将使用 != 运算符测试 actual 参数和 expected 参数。如果值相等,则函数将抛出 AssertionError。否则,如果值不相同,则函数将不会向输出返回任何内容。

此函数几乎类似于 assert.notStrictEqual() 函数。

语法

以下是 assert.notEqual() 函数Node.js的语法 -


 assert.notEqual(actual, expected[, message]);

参数

此函数接受三个参数。下面将对此进行描述。

  • actual − (必填) 将评估此参数中传入的值。该值可以是任何类型。
  • expected− (必填)此参数中传入的值将与 actual 值进行比较。该值可以是任何类型。
  • message − (可选) 字符串或错误类型可以作为输入传递给此参数。

返回值

如果 actual expected 都匹配,则此函数将在终端上返回 AssertionError。

在下面的以下示例中,我们将两个不同的整数传递给 assert.notEqual() 函数的 actual 参数和 expected 参数。


const assert = require('assert');

var num1 = 5;
var num2 = 6;

assert.notEqual(num1, num2, "Both values are Not EQUAL");

输出

由于两个输入参数的结果不同,因此该函数不会向输出抛出 AssertionError。

// Returns nothing

在下面的示例中,我们将两个相同的整数传递给函数的 actual 参数和 expected 参数。


const assert = require('assert');

var int1 = 65;
var int2 = 65;

assert.notEqual(int1, int2, "Both integers are EQUAL");

输出

由于两个输入参数的结果相同,因此该函数将抛出 AssertionError 以及消息参数中的文本。

assert.js:79
throw new AssertionError(obj);
^

AssertionError [ERR_ASSERTION]: Both integers are EQUAL
at Object.<anonymous> (/home/cg/root/639c38b0b0aed/main.js:6:8)
at Module._compile (internal/modules/cjs/loader.js:702:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
at Module.load (internal/modules/cjs/loader.js:612:32)
at tryModuleLoad (internal/modules/cjs/loader.js:551:12)
at Function.Module._load (internal/modules/cjs/loader.js:543:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:744:10)
at startup (internal/bootstrap/node.js:238:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)

在下面的示例中,我们将创建两个具有不同属性的对象。然后,我们将对象作为 actual 对象和 expected 对象传递给函数,并将文本传递给 message 参数。


const assert = require('assert');
var obj1 = {
	 	Name : 'Krishna',
	 	Age : 28
};

var obj2 = {
	 	Name : 'Kasyap',
	 	Age : 30
};

assert.notEqual(obj1, obj2, "Both the objects are NOT EQUAL");

输出

由于 actual 结果和 expected 结果不同,因此在编译和执行代码时,函数不会抛出 AssertionError。

// Returns nothing

在下面的示例中,我们将两个相同的字符串作为输入传递给 actual 参数和 expected 参数。


const assert = require('assert');

assert.notEqual('Qikepu', 'Qikepu', "Both the strings are EQUAL");

输出

由于 actual 结果和 expected 结果是相同的,因此在编译和执行代码时,该函数将向输出抛出 AssertionError。

assert.js:79
throw new AssertionError(obj);
^

AssertionError [ERR_ASSERTION]: Both the strings are EQUAL
at Object.<anonymous> (/home/cg/root/639c38b0b0aed/main.js:3:8)
at Module._compile (internal/modules/cjs/loader.js:702:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
at Module.load (internal/modules/cjs/loader.js:612:32)at tryModuleLoad (internal/modules/cjs/loader.js:551:12)
at Function.Module._load (internal/modules/cjs/loader.js:543:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:744:10)
at startup (internal/bootstrap/node.js:238:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)