Перейти к содержимому

Справочник 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.

Была ли эта страница полезной?