new assert.AssertionError(options)


  • options <Object>
    • message <string> 如果提供,该错误信息将被设置为此值。
    • actual <any> 错误实例上的 actual 属性。
    • expected <any> 错误实例上的 expected 属性。
    • operator <string> 错误实例上的 operator 属性。
    • stackStartFn <Function> 如果提供,生成的堆栈跟踪将省略在此函数之前的帧。
    • diff <string> 如果设置为 'full',在断言错误中显示完整的差异。默认为 'simple'。 可接受的值:'simple''full'

<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);
}