當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Node.js assert.fail(actual, expected[, message[, operator[, stackStartFn]]])用法及代碼示例


assert.fail(actual, expected[, message[, operator[, stackStartFn]]])

曆史
版本變化
v10.0.0

不推薦使用多個參數調用 assert.fail() 並發出警告。

v0.1.21

添加於:v0.1.21

Stability: 0 - 已棄用:改用 assert.fail([message]) 或其他斷言函數。

參數

如果 message 為假,則錯誤消息設置為 actualexpected 的值,由提供的 operator 分隔。如果隻提供了兩個 actualexpected 參數,則 operator 將默認為 '!=' 。如果 message 作為第三個參數提供,它將用作錯誤消息,其他參數將作為屬性存儲在拋出的對象上。如果提供了stackStartFn,則該函數上方的所有堆棧幀都將從堆棧跟蹤中刪除(請參閱 Error.captureStackTrace )。如果沒有給出參數,將使用默認消息Failed

import assert from 'node:assert/strict';

assert.fail('a', 'b');
// AssertionError [ERR_ASSERTION]: 'a' != 'b'

assert.fail(1, 2, undefined, '>');
// AssertionError [ERR_ASSERTION]: 1 > 2

assert.fail(1, 2, 'fail');
// AssertionError [ERR_ASSERTION]: fail

assert.fail(1, 2, 'whoops', '>');
// AssertionError [ERR_ASSERTION]: whoops

assert.fail(1, 2, new TypeError('need array'));
// TypeError: need arrayconst assert = require('node:assert/strict');

assert.fail('a', 'b');
// AssertionError [ERR_ASSERTION]: 'a' != 'b'

assert.fail(1, 2, undefined, '>');
// AssertionError [ERR_ASSERTION]: 1 > 2

assert.fail(1, 2, 'fail');
// AssertionError [ERR_ASSERTION]: fail

assert.fail(1, 2, 'whoops', '>');
// AssertionError [ERR_ASSERTION]: whoops

assert.fail(1, 2, new TypeError('need array'));
// TypeError: need array

在最後三種情況下 actualexpectedoperator 對錯誤消息沒有影響。

使用stackStartFn 截斷異常堆棧跟蹤的示例:

import assert from 'node:assert/strict';

function suppressFrame() {
  assert.fail('a', 'b', undefined, '!==', suppressFrame);
}
suppressFrame();
// AssertionError [ERR_ASSERTION]: 'a' !== 'b'
//     at repl:1:1
//     at ContextifyScript.Script.runInThisContext (vm.js:44:33)
//     ...const assert = require('node:assert/strict');

function suppressFrame() {
  assert.fail('a', 'b', undefined, '!==', suppressFrame);
}
suppressFrame();
// AssertionError [ERR_ASSERTION]: 'a' !== 'b'
//     at repl:1:1
//     at ContextifyScript.Script.runInThisContext (vm.js:44:33)
//     ...

相關用法


注:本文由純淨天空篩選整理自nodejs.org大神的英文原創作品 assert.fail(actual, expected[, message[, operator[, stackStartFn]]])。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。