assert.equal(actual, expected[, message])
版本历史
| 版本 | 变更 |
|---|---|
| v16.0.0, v14.18.0 | 在旧版断言模式下,状态从弃用更改为旧版。 |
| v14.0.0 | 如果双方都是 NaN,则现在 NaN 被视为相同。 |
| v0.1.21 | 新增于: v0.1.21 |
严格断言模式
\Strict assertion mode
assert.strictEqual() 的别名。
\An alias of assert.strictEqual().
旧版断言模式
\Legacy assertion mode
使用 == 操作符 测试 actual 和 expected 参数之间的浅层强制相等性。NaN 是特殊处理的,如果双方都是 NaN,则视为相同。
\Tests shallow, coercive equality between the actual and expected parameters
using the == operator. NaN is specially handled
and treated as being identical if both sides are NaN.
import assert from 'node:assert'; assert.equal(1, 1); // OK, 1 == 1 assert.equal(1, '1'); // OK, 1 == '1' assert.equal(NaN, NaN); // OK assert.equal(1, 2); // AssertionError: 1 == 2 assert.equal({ a: { b: 1 } }, { a: { b: 1 } }); // AssertionError: { a: { b: 1 } } == { a: { b: 1 } }const assert = require('node:assert'); assert.equal(1, 1); // OK, 1 == 1 assert.equal(1, '1'); // OK, 1 == '1' assert.equal(NaN, NaN); // OK assert.equal(1, 2); // AssertionError: 1 == 2 assert.equal({ a: { b: 1 } }, { a: { b: 1 } }); // AssertionError: { a: { b: 1 } } == { a: { b: 1 } }
如果值不相等,则抛出 AssertionError,其 message 属性设置为等于 message 参数的值。如果未定义 message 参数,则分配默认错误消息。如果 message 参数是 <Error> 的实例,则将抛出该参数而不是 AssertionError。
\If the values are not equal, an AssertionError is thrown with a message
property set equal to the value of the message parameter. If the message
parameter is undefined, a default error message is assigned. If the message
parameter is an instance of <Error> then it will be thrown instead of the
AssertionError.