new assert.AssertionError(options)


  • options <Object>
    • message <string> 如果提供,此错误消息将设置为该值。
    • actual <any> 错误实例上的 actual 属性。
    • expected <any> 错误实例上的 expected 属性。
    • operator <string> 错误实例上的 operator 属性。
    • stackStartFn <Function> 如果提供,生成的堆栈跟踪会省略此函数之前的帧。

Error 的一个子类,表示断言失败。

【A subclass of Error that indicates the failure of an assertion.】

所有实例都包含内置的 Error 属性(messagename)以及:

【All instances contain the built-in Error properties (message and name) and:】

  • actual <any> 设置为方法(如 assert.strictEqual())的 actual 参数。
  • expected <any> 设置为方法(如 assert.strictEqual())的 expected 值。
  • generatedMessage <boolean> 指示消息是否为自动生成(true)或非自动生成。
  • code <string> 值始终为 ERR_ASSERTION,表示错误是断言错误。
  • operator <string> 设置为传入的运算符值。
import assert from 'node:assert';

// Generate an AssertionError to compare the error message later:
const { message } = new assert.AssertionError({
  actual: 1,
  expected: 2,
  operator: 'strictEqual',
});

// Verify error output:
try {
  assert.strictEqual(1, 2);
} catch (err) {
  assert(err instanceof assert.AssertionError);
  assert.strictEqual(err.message, message);
  assert.strictEqual(err.name, 'AssertionError');
  assert.strictEqual(err.actual, 1);
  assert.strictEqual(err.expected, 2);
  assert.strictEqual(err.code, 'ERR_ASSERTION');
  assert.strictEqual(err.operator, 'strictEqual');
  assert.strictEqual(err.generatedMessage, true);
}const assert = require('node:assert');

// Generate an AssertionError to compare the error message later:
const { message } = new assert.AssertionError({
  actual: 1,
  expected: 2,
  operator: 'strictEqual',
});

// Verify error output:
try {
  assert.strictEqual(1, 2);
} catch (err) {
  assert(err instanceof assert.AssertionError);
  assert.strictEqual(err.message, message);
  assert.strictEqual(err.name, 'AssertionError');
  assert.strictEqual(err.actual, 1);
  assert.strictEqual(err.expected, 2);
  assert.strictEqual(err.code, 'ERR_ASSERTION');
  assert.strictEqual(err.operator, 'strictEqual');
  assert.strictEqual(err.generatedMessage, true);
}