Перейти до вмісту

Довідник API node:assert

Допоміжні засоби перевірок, сумісні з Node

На цій сторінці
Open in ChatGPTOpen in Claude

Експорт модуля можна викликати, і це та сама функція, що й assert.ok:

import assert from "node:assert";

assert(1 + 1 === 2);
assert.strictEqual(1 + 1, 2);
assert.deepStrictEqual({ values: [1, 2] }, { values: [1, 2] });
await assert.rejects(async () => {
  throw new TypeError("nope");
}, TypeError);

Операції

Підтримувані перевірки:

  • ok, fail і ifError
  • equal, notEqual, strictEqual і notStrictEqual
  • deepEqual, notDeepEqual, deepStrictEqual, notDeepStrictEqual і partialDeepStrictEqual
  • throws, doesNotThrow, rejects і doesNotReject
  • match і doesNotMatch

assert.strict — викликний варіант строгого режиму. Глибоке порівняння підтримує цикли й поширені вбудовані типи, як-от масиви, типізовані масиви, дати, регулярні вирази, map і set.

Невдалі перевірки кидають assert.AssertionError з code, рівним ERR_ASSERTION, і полями, зокрема actual, expected і operator. Elide повідомляє в operator назви операцій, як-от strictEqual, а не символи, як-от ===.

Стандартні форми виклику описано в документації Node.js щодо assert.

Reference

Status: Partial · 7 of 13 suite tests pass (53.8%) · since 1.1.0

Exports

ExportKindStatusNotes
ok()functionFullTests if value is truthy
equal()functionFullTests shallow equality between actual and expected using ==
notEqual()functionFullTests shallow inequality between actual and expected using !=
strictEqual()functionFullTests strict equality between actual and expected using ===
notStrictEqual()functionFullTests strict inequality between actual and expected using !==
deepEqual()functionFullTests for deep equality between actual and expected using abstract equality (==) for leaf comparisons
deepStrictEqual()functionFullTests for deep strict equality between actual and expected using strict equality (===) for leaf…
notDeepEqual()functionFullTests that actual is NOT deeply equal to expected (abstract equality)
notDeepStrictEqual()functionFullTests that actual is NOT deeply strictly equal to expected
throws()functionFullExpects the function fn to throw an error
doesNotThrow()functionFullAsserts that the function fn does not throw an error
rejects()functionFullAwaits the asyncFn promise (or calls it if it’s a function) and expects it to reject
doesNotReject()functionFullAwaits the asyncFn promise (or calls it if it’s a function) and expects it NOT to reject
fail()functionFullThrows an AssertionError unconditionally
ifError()functionFullIf value is truthy (not null/undefined/false), throws it
match()functionFullExpects string to match the regular expression regexp
doesNotMatch()functionFullExpects string NOT to match the regular expression regexp

Not implemented

Assert, assert/strict.Assert.

Tests: node-api node:assert: 7 pass, 6 fail, 0 error, 1 skipped. Failing: test-assert-async.js, test-assert-class-destructuring.js, test-assert-class.js, test-assert-deep.js, test-assert-esm-cjs-message-verify.js, test-assert.js.

Чи була ця сторінка корисною?