• Node.js Video Tutorials

Node.js assert.notStrictEqual() 函数



Node.js 的 assert.notStrictEqaul() 函数是 Node.js 的 assert 模块的内置函数。它用于验证给定参数的严格相等性。

此函数用于检查两个值是否不相等。它检查类型和值是否相等,这与严格相等运算符 (===) 不同,后者仅检查值是否相等。这意味着如果两个变量具有不同的类型但值相同,它将返回 true,如果它们具有相同的类型但值不同,则返回 false。

此函数将使用 "!=" 运算符来测试实际参数和预期参数。如果值相等,此函数将抛出 AssertionError。否则,如果值不相等,则函数不会产生任何输出。此函数与 Node.js assert.notStrictEqual() 函数相同。

语法

以下是 Node.js assert.notStrictEqaul() 函数 的语法:

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

参数

此函数接受三个参数。下面描述了这些参数。

  • actual − (必需) 传递给此参数的值将被评估。该值可以是任何类型。

  • expected − (必需) 传递给此参数的值将与 actual 值进行比较。该值可以是任何类型。

  • message − (可选) 可以将字符串或错误类型作为输入传递到此参数。

返回值

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

示例

在下面的示例中,我们将两个不同的整数传递给 Node.js assert.notStrictEqual() 函数的 actualexpected 参数。

const assert = require('assert');

var N1 = 1;
var N2 = 2;

assert.notEqual(N1, N2, "Both values are Not EQUAL");

输出

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

// Returns nothing

示例

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

const assert = require('assert');

var Num1 = 65;
var Num2 = 65;

assert.notEqual(Num1, Num2, "Both integers are EQUAL");

输出

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

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)

示例

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

const assert = require('assert');
var object1 = {
   Name : 'Pushpa',
   Designation : 'Smuggler'
};

var object2 = {
   Name : 'Raj',
   Designation : 'Syndicate Head'
};

assert.notEqual(object1, object2, "Both the objects are NOT EQUAL");

输出

由于实际结果和预期结果不同,因此在编译并执行代码时,该函数不会抛出 AssertionError。

// Returns nothing

示例

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

const assert = require('assert');

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

输出

由于实际结果和预期结果相同,因此在编译并执行代码时,该函数将向输出抛出 AssertionError。

   assert.js:79
   throw new AssertionError(obj);
   ^
   
AssertionError [ERR_ASSERTION]: Both the strings are EQUAL
   at Object.<anonymous> (/home/cg/root/639c3b5c17b34/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)
nodejs_assert_module.htm
广告