Skip to content
Vitest 1
Main Navigation ÚtmutatóAPIKonfigurációHaladó
1.6.1
0.34.6

magyar

English
简体中文
繁體中文
Español
Français
Русский
Português – Brasil
Deutsch
日本語
한국어
Italiano
Polski
Türkçe
čeština

magyar

English
简体中文
繁體中文
Español
Français
Русский
Português – Brasil
Deutsch
日本語
한국어
Italiano
Polski
Türkçe
čeština

Megjelenés

Sidebar Navigation

Útmutató

Miért a Vitest?

Első lépések

Funkciók

Munkaterület

Parancssori felület

Tesztszűrés

Reporterek

Lefedettség

Pillanatképek

Mockolás

Típusok tesztelése

Vitest UI

Böngésző mód

Forráskódba épített tesztelés

Tesztkörnyezet

Tesztkörnyezet

Egyezésvizsgálók kiterjesztése

IDE integrációk

Hibakeresés

Összehasonlítás más tesztfuttatókkal

Migrálási útmutató

Gyakori hibák

A teljesítmény javítása

API

Teszt API Dokumentáció

Mock függvények

Vi

expect

expectTypeOf

assert

assertType

Konfiguráció

A Vitest konfigurációs fájl beállítása

Vitest konfigurálása

Ezen az oldalon

assert ​

A Vitest újraexportálja az assert metódust a chai könyvtárból az invariánsok ellenőrzéséhez.

assert ​

  • Típus: (expression: any, message?: string) => asserts expression

Ellenőrzi, hogy a megadott expression igaz-e. Ha nem, az állítás megbukik.

ts
import { assert, test } from 'vitest';

test('assert', () => {
  assert('foo' !== 'bar', 'a foo nem egyenlő a bar-ral');
});

fail ​

  • Típus:
    • (message?: string) => never
    • <T>(actual: T, expected: T, message?: string, operator?: string) => never

Kivált egy állításhibát.

ts
import { assert, test } from 'vitest';

test('assert.fail', () => {
  assert.fail('hibaüzenet hiba esetén');
  assert.fail('foo', 'bar', 'foo nem bar', '===');
});

isOk ​

  • Típus: <T>(value: T, message?: string) => void
  • Alias: ok

Ellenőrzi, hogy a megadott value igaz érték-e.

ts
import { assert, test } from 'vitest';

test('assert.isOk', () => {
  assert.isOk('foo', 'minden igaz érték rendben van');
  assert.isOk(false, 'ez sikertelen lesz, mert a false nem igaz érték');
});

isNotOk ​

  • Típus: <T>(value: T, message?: string) => void
  • Alias: notOk

Ellenőrzi, hogy a megadott value hamis érték-e.

ts
import { assert, test } from 'vitest';

test('assert.isNotOk', () => {
  assert.isNotOk('foo', 'ez sikertelen lesz, mert a "foo" igaz érték');
  assert.isNotOk(false, 'ez sikerül, mert a false hamis érték');
});

equal ​

  • Típus: <T>(actual: T, expected: T, message?: string) => void

Ellenőrzi az actual és az expected értékek nem szigorú egyenlőségét (==).

ts
import { assert, test } from 'vitest';

test('assert.equal', () => {
  assert.equal(Math.sqrt(4), '2');
});

notEqual ​

  • Típus: <T>(actual: T, expected: T, message?: string) => void

Ellenőrzi, hogy az actual és az expected értékek nem egyenlőek-e (!=).

ts
import { assert, test } from 'vitest';

test('assert.notEqual', () => {
  assert.notEqual(Math.sqrt(4), 3);
});

strictEqual ​

  • Típus: <T>(actual: T, expected: T, message?: string) => void

Ellenőrzi az actual és az expected értékek szigorú egyenlőségét (===).

ts
import { assert, test } from 'vitest';

test('assert.strictEqual', () => {
  assert.strictEqual(Math.sqrt(4), 2);
});

deepEqual ​

  • Típus: <T>(actual: T, expected: T, message?: string) => void

Ellenőrzi, hogy az actual és az expected értékek mélyen egyenlőek-e.

ts
import { assert, test } from 'vitest';

test('assert.deepEqual', () => {
  assert.deepEqual({ color: 'green' }, { color: 'green' });
});

notDeepEqual ​

  • Típus: <T>(actual: T, expected: T, message?: string) => void

Ellenőrzi, hogy az actual és az expected értékek nem mélyen egyenlőek-e.

ts
import { assert, test } from 'vitest';

test('assert.notDeepEqual', () => {
  assert.notDeepEqual({ color: 'green' }, { color: 'red' });
});

isAbove ​

  • Típus: (valueToCheck: number, valueToBeAbove: number, message?: string) => void

Ellenőrzi, hogy a valueToCheck értéke nagyobb-e, mint a valueToBeAbove értéke.

ts
import { assert, test } from 'vitest';

test('assert.isAbove', () => {
  assert.isAbove(5, 2, 'az 5 nagyobb, mint a 2');
});

isAtLeast ​

  • Típus: (valueToCheck: number, valueToBeAtLeast: number, message?: string) => void

Ellenőrzi, hogy a valueToCheck értéke nagyobb vagy egyenlő-e, mint a valueToBeAtLeast értéke.

ts
import { assert, test } from 'vitest';

test('assert.isAtLeast', () => {
  assert.isAtLeast(5, 2, 'az 5 nagyobb vagy egyenlő, mint a 2');
  assert.isAtLeast(3, 3, 'a 3 nagyobb vagy egyenlő, mint a 3');
});

isBelow ​

  • Típus: (valueToCheck: number, valueToBeBelow: number, message?: string) => void

Ellenőrzi, hogy a valueToCheck értéke kisebb-e, mint a valueToBeBelow értéke.

ts
import { assert, test } from 'vitest';

test('assert.isBelow', () => {
  assert.isBelow(3, 6, 'a 3 kisebb, mint a 6');
});

isAtMost ​

  • Típus: (valueToCheck: number, valueToBeAtMost: number, message?: string) => void

Ellenőrzi, hogy a valueToCheck értéke kisebb vagy egyenlő-e, mint a valueToBeAtMost értéke.

ts
import { assert, test } from 'vitest';

test('assert.isAtMost', () => {
  assert.isAtMost(3, 6, 'a 3 kisebb vagy egyenlő, mint a 6');
  assert.isAtMost(4, 4, 'a 4 kisebb vagy egyenlő, mint a 4');
});

isTrue ​

  • Típus: <T>(value: T, message?: string) => void

Ellenőrzi, hogy a value értéke true-e.

ts
import { assert, test } from 'vitest';

const testPassed = true;

test('assert.isTrue', () => {
  assert.isTrue(testPassed);
});

isNotTrue ​

  • Típus: <T>(value: T, message?: string) => void

Ellenőrzi, hogy a value értéke nem true-e.

ts
import { assert, test } from 'vitest';

const testPassed = 'ok';

test('assert.isNotTrue', () => {
  assert.isNotTrue(testPassed);
});

isFalse ​

  • Típus: <T>(value: T, message?: string) => void

Ellenőrzi, hogy a value értéke false-e.

ts
import { assert, test } from 'vitest';

const testPassed = false;

test('assert.isFalse', () => {
  assert.isFalse(testPassed);
});

isNotFalse ​

  • Típus: <T>(value: T, message?: string) => void

Ellenőrzi, hogy a value értéke nem false-e.

ts
import { assert, test } from 'vitest';

const testPassed = 'no';

test('assert.isNotFalse', () => {
  assert.isNotFalse(testPassed);
});

isNull ​

  • Típus: <T>(value: T, message?: string) => void

Ellenőrzi, hogy a value értéke null-e.

ts
import { assert, test } from 'vitest';

const error = null;

test('assert.isNull', () => {
  assert.isNull(error, 'a hiba null');
});

isNotNull ​

  • Típus: <T>(value: T, message?: string) => void

Ellenőrzi, hogy a value értéke nem null-e.

ts
import { assert, test } from 'vitest';

const error = { message: 'hiba történt' };

test('assert.isNotNull', () => {
  assert.isNotNull(error, 'a hiba nem null, hanem egy objektum');
});

isNaN ​

  • Típus: <T>(value: T, message?: string) => void

Ellenőrzi, hogy a value értéke NaN-e (Not a Number - Nem Szám).

ts
import { assert, test } from 'vitest';

const calculation = 1 * 'vitest';

test('assert.isNaN', () => {
  assert.isNaN(calculation, 'az 1 * "vitest" eredménye NaN');
});

isNotNaN ​

  • Típus: <T>(value: T, message?: string) => void

Ellenőrzi, hogy a value értéke nem NaN-e.

ts
import { assert, test } from 'vitest';

const calculation = 1 * 2;

test('assert.isNotNaN', () => {
  assert.isNotNaN(calculation, 'az 1 * 2 nem NaN, hanem 2');
});

exists ​

  • Típus: <T>(value: T, message?: string) => void

Ellenőrzi, hogy a value értéke nem null és nem undefined.

ts
import { assert, test } from 'vitest';

const name = 'foo';

test('assert.exists', () => {
  assert.exists(name, 'a foo nem null és nem undefined');
});

notExists ​

  • Típus: <T>(value: T, message?: string) => void

Ellenőrzi, hogy a value értéke null vagy undefined.

ts
import { assert, test } from 'vitest';

const foo = null;
const bar = undefined;

test('assert.notExists', () => {
  assert.notExists(foo, 'a foo null, ezért nem létezik');
  assert.notExists(bar, 'a bar undefined, ezért nem létezik');
});

isUndefined ​

  • Típus: <T>(value: T, message?: string) => void

Ellenőrzi, hogy a value értéke undefined-e.

ts
import { assert, test } from 'vitest';

const name = undefined;

test('assert.isUndefined', () => {
  assert.isUndefined(name, 'a name értéke undefined');
});

isDefined ​

  • Típus: <T>(value: T, message?: string) => void

Ellenőrzi, hogy a value értéke nem undefined-e.

ts
import { assert, test } from 'vitest';

const name = 'foo';

test('assert.isDefined', () => {
  assert.isDefined(name, 'a name értéke nem undefined');
});

isFunction ​

  • Típus: <T>(value: T, message?: string) => void
  • Alias: isCallable Ellenőrzi, hogy a value függvény-e.
ts
import { assert, test } from 'vitest';

function name() {
  return 'foo';
}

test('assert.isFunction', () => {
  assert.isFunction(name, 'a name egy függvény');
});

isNotFunction ​

  • Típus: <T>(value: T, message?: string) => void
  • Alias: isNotCallable

Ellenőrzi, hogy a value nem függvény-e.

ts
import { assert, test } from 'vitest';

const name = 'foo';

test('assert.isNotFunction', () => {
  assert.isNotFunction(name, 'a name nem függvény, hanem egy string');
});

isObject ​

  • Típus: <T>(value: T, message?: string) => void

Ellenőrzi, hogy a value egy Object típusú objektum-e (az Object.prototype.toString által mutatott módon). Az állítás nem illeszkedik az alosztályozott objektumokra.

ts
import { assert, test } from 'vitest';

const someThing = { color: 'red', shape: 'circle' };

test('assert.isObject', () => {
  assert.isObject(someThing, 'a someThing egy objektum');
});

isNotObject ​

  • Típus: <T>(value: T, message?: string) => void

Ellenőrzi, hogy a value nem objektum-e (az Object.prototype.toString által mutatott módon). Az állítás nem vonatkozik az alosztályokból származó objektumokra.

ts
import { assert, test } from 'vitest';

const someThing = 'redCircle';

test('assert.isNotObject', () => {
  assert.isNotObject(someThing, 'someThing nem objektum, hanem karakterlánc');
});

isArray ​

  • Típus: <T>(value: T, message?: string) => void

Ellenőrzi, hogy a value tömb-e.

ts
import { assert, test } from 'vitest';

const color = ['red', 'green', 'yellow'];

test('assert.isArray', () => {
  assert.isArray(color, 'color egy tömb');
});

isNotArray ​

  • Típus: <T>(value: T, message?: string) => void

Ellenőrzi, hogy a value nem tömb-e.

ts
import { assert, test } from 'vitest';

const color = 'red';

test('assert.isNotArray', () => {
  assert.isNotArray(color, 'color nem tömb, hanem karakterlánc');
});

isString ​

  • Típus: <T>(value: T, message?: string) => void

Ellenőrzi, hogy a value karakterlánc-e.

ts
import { assert, test } from 'vitest';

const color = 'red';

test('assert.isString', () => {
  assert.isString(color, 'color egy karakterlánc');
});

isNotString ​

  • Típus: <T>(value: T, message?: string) => void

Ellenőrzi, hogy a value nem karakterlánc-e.

ts
import { assert, test } from 'vitest';

const color = ['red', 'green', 'yellow'];

test('assert.isNotString', () => {
  assert.isNotString(color, 'color nem karakterlánc, hanem tömb');
});

isNumber ​

  • Típus: <T>(value: T, message?: string) => void

Ellenőrzi, hogy a value szám-e.

ts
import { assert, test } from 'vitest';

const colors = 3;

test('assert.isNumber', () => {
  assert.isNumber(colors, 'colors egy szám');
});

isNotNumber ​

  • Típus: <T>(value: T, message?: string) => void

Ellenőrzi, hogy a value nem szám-e.

ts
import { assert, test } from 'vitest';

const colors = '3 colors';

test('assert.isNotNumber', () => {
  assert.isNotNumber(colors, 'colors nem szám, hanem karakterlánc');
});

isFinite ​

  • Típus: <T>(value: T, message?: string) => void

Ellenőrzi, hogy a value véges szám-e (nem NaN vagy Infinity).

ts
import { assert, test } from 'vitest';

const colors = 3;

test('assert.isFinite', () => {
  assert.isFinite(colors, 'colors egy szám, nem NaN vagy Infinity');
});

isBoolean ​

  • Típus: <T>(value: T, message?: string) => void

Ellenőrzi, hogy a value logikai érték-e.

ts
import { assert, test } from 'vitest';

const isReady = true;

test('assert.isBoolean', () => {
  assert.isBoolean(isReady, 'isReady egy logikai érték');
});

isNotBoolean ​

  • Típus: <T>(value: T, message?: string) => void

Ellenőrzi, hogy a value nem logikai érték-e.

ts
import { assert, test } from 'vitest';

const isReady = 'sure';

test('assert.isBoolean', () => {
  assert.isBoolean(isReady, 'isReady nem logikai érték, hanem karakterlánc');
});

typeOf ​

  • Típus: <T>(value: T, name: string, message?: string) => void

Ellenőrzi, hogy a value típusa name-e, ahogy azt az Object.prototype.toString meghatározza.

ts
import { assert, test } from 'vitest';

test('assert.typeOf', () => {
  assert.typeOf({ color: 'red' }, 'object', 'van egy objektumunk');
  assert.typeOf(['red', 'green'], 'array', 'van egy tömbünk');
  assert.typeOf('red', 'string', 'van egy karakterláncunk');
  assert.typeOf(/red/, 'regexp', 'van egy reguláris kifejezésünk');
  assert.typeOf(null, 'null', 'van egy null értékünk');
  assert.typeOf(undefined, 'undefined', 'van egy undefined értékünk');
});

notTypeOf ​

  • Típus: <T>(value: T, name: string, message?: string) => void

Ellenőrzi, hogy a value típusa nem name-e, ahogy azt az Object.prototype.toString meghatározza.

ts
import { assert, test } from 'vitest';

test('assert.notTypeOf', () => {
  assert.notTypeOf('red', 'number', 'a "red" nem szám');
});

instanceOf ​

  • Típus: <T>(value: T, constructor: Function, message?: string) => void

Ellenőrzi, hogy a value a constructor egy példánya-e.

ts
import { assert, test } from 'vitest';

function Person(name) {
  this.name = name;
}
const foo = new Person('foo');

class Tea {
  constructor(name) {
    this.name = name;
  }
}
const coffee = new Tea('coffee');

test('assert.instanceOf', () => {
  assert.instanceOf(foo, Person, 'foo a Person egy példánya');
  assert.instanceOf(coffee, Tea, 'coffee a Tea egy példánya');
});

notInstanceOf ​

  • Típus: <T>(value: T, constructor: Function, message?: string) => void

Ellenőrzi, hogy a value nem a constructor egy példánya-e.

ts
import { assert, test } from 'vitest';

function Person(name) {
  this.name = name;
}
const foo = new Person('foo');

class Tea {
  constructor(name) {
    this.name = name;
  }
}
const coffee = new Tea('coffee');

test('assert.instanceOf', () => {
  assert.instanceOf(foo, Tea, 'foo nem a Tea osztály egy példánya');
});

include ​

  • Típus:
    • (haystack: string, needle: string, message?: string) => void
    • <T>(haystack: readonly T[] | ReadonlySet<T> | ReadonlyMap<any, T>, needle: T, message?: string) => void
    • <T extends object>(haystack: WeakSet<T>, needle: T, message?: string) => void
    • <T>(haystack: T, needle: Partial<T>, message?: string) => void

Ellenőrzi, hogy a haystack tartalmazza-e a needle-t. Használható egy érték meglétének ellenőrzésére egy tömbben, egy részsztring meglétének ellenőrzésére egy karakterláncban, vagy tulajdonságok egy részhalmazának meglétének ellenőrzésére egy objektumban.

ts
import { assert, test } from 'vitest';

test('assert.include', () => {
  assert.include([1, 2, 3], 2, 'a tömb tartalmazza az értéket');
  assert.include('foobar', 'foo', 'a karakterlánc tartalmazza a részsztringet');
  assert.include(
    { foo: 'bar', hello: 'universe' },
    { foo: 'bar' },
    'az objektum tartalmazza a megadott tulajdonságot'
  );
});

notInclude ​

  • Típus:
    • (haystack: string, needle: string, message?: string) => void
    • <T>(haystack: readonly T[] | ReadonlySet<T> | ReadonlyMap<any, T>, needle: T, message?: string) => void
    • <T extends object>(haystack: WeakSet<T>, needle: T, message?: string) => void
    • <T>(haystack: T, needle: Partial<T>, message?: string) => void

Ellenőrzi, hogy a haystack nem tartalmazza-e a needle-t. Használható egy érték hiányának ellenőrzésére egy tömbben, egy részsztring hiányának ellenőrzésére egy karakterláncban, vagy tulajdonságok egy részhalmazának hiányának ellenőrzésére egy objektumban.

ts
import { assert, test } from 'vitest';

test('assert.notInclude', () => {
  assert.notInclude([1, 2, 3], 4, 'a tömb nem tartalmazza a 4-et');
  assert.notInclude('foobar', 'baz', "a 'foobar' nem tartalmazza a 'baz'-t");
  assert.notInclude(
    { foo: 'bar', hello: 'universe' },
    { foo: 'baz' },
    'az objektum nem tartalmazza a tulajdonságot'
  );
});

deepInclude ​

  • Típus:
  • (haystack: string, needle: string, message?: string) => void
  • <T>(haystack: readonly T[] | ReadonlySet<T> | ReadonlyMap<any, T>, needle: T, message?: string) => void
  • <T>(haystack: T, needle: T extends WeakSet<any> ? never : Partial<T>, message?: string) => void

Ellenőrzi, hogy a haystack tartalmazza-e a needle-t. Használható egy érték meglétének ellenőrzésére egy tömbben vagy tulajdonságok egy részhalmazának meglétének ellenőrzésére egy objektumban. Mély összehasonlítást végez.

ts
import { assert, test } from 'vitest';

const obj1 = { a: 1 };
const obj2 = { b: 2 };

test('assert.deepInclude', () => {
  assert.deepInclude([obj1, obj2], { a: 1 });
  assert.deepInclude({ foo: obj1, bar: obj2 }, { foo: { a: 1 } });
});

notDeepInclude ​

  • Típus:
    • (haystack: string, needle: string, message?: string) => void
    • <T>(haystack: readonly T[] | ReadonlySet<T> | ReadonlyMap<any, T>, needle: T, message?: string) => void
    • <T>(haystack: T, needle: T extends WeakSet<any> ? never : Partial<T>, message?: string) => void

Ellenőrzi, hogy a haystack nem tartalmazza-e a needle-t. Használható egy érték hiányának ellenőrzésére egy tömbben vagy tulajdonságok egy részhalmazának hiányának ellenőrzésére egy objektumban. Mély összehasonlítást végez.

ts
import { assert, test } from 'vitest';

const obj1 = { a: 1 };
const obj2 = { b: 2 };

test('assert.notDeepInclude', () => {
  assert.notDeepInclude([obj1, obj2], { a: 10 });
  assert.notDeepInclude({ foo: obj1, bar: obj2 }, { foo: { a: 10 } });
});

nestedInclude ​

  • Típus: (haystack: any, needle: any, message?: string) => void

Ellenőrzi, hogy a haystack tartalmazza-e a needle-t. Használható tulajdonságok egy részhalmazának meglétének ellenőrzésére egy objektumban. Lehetővé teszi a pont- és szögletes zárójelezés használatát a beágyazott tulajdonságok hivatkozásához. A '[]' és '.' karakterek a tulajdonságnevekben dupla visszaperjelekkel kezelhetők.

ts
import { assert, test } from 'vitest';

test('assert.nestedInclude', () => {
  assert.nestedInclude({ '.a': { b: 'x' } }, { '\\.a.[b]': 'x' });
  assert.nestedInclude({ a: { '[b]': 'x' } }, { 'a.\\[b\\]': 'x' });
});

notNestedInclude ​

  • Típus: (haystack: any, needle: any, message?: string) => void

Ellenőrzi, hogy a haystack nem tartalmazza-e a needle-t. Használható tulajdonságok egy részhalmazának meglétének ellenőrzésére egy objektumban. Lehetővé teszi a pont- és szögletes zárójelezés használatát a beágyazott tulajdonságok hivatkozásához. A '[]' és '.' karakterek a tulajdonságnevekben dupla visszaperjelekkel kezelhetők.

ts
import { assert, test } from 'vitest';

test('assert.nestedInclude', () => {
  assert.notNestedInclude({ '.a': { b: 'x' } }, { '\\.a.b': 'y' });
  assert.notNestedInclude({ a: { '[b]': 'x' } }, { 'a.\\[b\\]': 'y' });
});

deepNestedInclude ​

  • Típus: (haystack: any, needle: any, message?: string) => void

Ellenőrzi, hogy a haystack tartalmazza-e a needle-t. Használható tulajdonságok egy részhalmazának meglétének ellenőrzésére egy objektumban, miközben mély egyenlőséget ellenőriz. Lehetővé teszi a pont- és szögletes zárójelezés használatát a beágyazott tulajdonságok hivatkozásához. A '[]' és '.' karakterek a tulajdonságnevekben dupla visszaperjelekkel kezelhetők.

ts
import { assert, test } from 'vitest';

test('assert.deepNestedInclude', () => {
  assert.deepNestedInclude({ a: { b: [{ x: 1 }] } }, { 'a.b[0]': { x: 1 } });
  assert.deepNestedInclude(
    { '.a': { '[b]': { x: 1 } } },
    { '\\.a.\\[b\\]': { x: 1 } }
  );
});

notDeepNestedInclude ​

  • Típus: (haystack: any, needle: any, message?: string) => void

Ellenőrzi, hogy a haystack nem tartalmazza-e a needle-t. Használható tulajdonságok egy részhalmazának hiányának ellenőrzésére egy objektumban, miközben mély egyenlőséget ellenőriz. Lehetővé teszi a pont- és szögletes zárójelezés használatát a beágyazott tulajdonságok hivatkozásához. A '[]' és '.' karakterek a tulajdonságnevekben dupla visszaperjelekkel kezelhetők.

ts
import { assert, test } from 'vitest';

test('assert.notDeepNestedInclude', () => {
  assert.notDeepNestedInclude({ a: { b: [{ x: 1 }] } }, { 'a.b[0]': { y: 1 } });
  assert.notDeepNestedInclude(
    { '.a': { '[b]': { x: 1 } } },
    { '\\.a.\\[b\\]': { y: 2 } }
  );
});

ownInclude ​

  • Típus: (haystack: any, needle: any, message?: string) => void

Ellenőrzi, hogy a haystack tartalmazza-e a needle-t. Használható tulajdonságok egy részhalmazának meglétének ellenőrzésére egy objektumban, miközben figyelmen kívül hagyja az örökölt tulajdonságokat.

ts
import { assert, test } from 'vitest';

test('assert.ownInclude', () => {
  assert.ownInclude({ a: 1 }, { a: 1 });
});

notOwnInclude ​

  • Típus: (haystack: any, needle: any, message?: string) => void

Ellenőrzi, hogy a haystack nem tartalmazza-e a needle-t. Használható tulajdonságok egy részhalmazának hiányának ellenőrzésére egy objektumban, miközben figyelmen kívül hagyja az örökölt tulajdonságokat.

ts
import { assert, test } from 'vitest';

const obj1 = {
  b: 2,
};

const obj2 = Object.create(obj1);
obj2.a = 1;

test('assert.notOwnInclude', () => {
  assert.notOwnInclude(obj2, { b: 2 });
});

deepOwnInclude ​

  • Típus: (haystack: any, needle: any, message?: string) => void

Ellenőrzi, hogy a haystack objektum mélyen tartalmazza-e a needle objektumot. Használható annak ellenőrzésére, hogy egy objektumban megtalálható-e a tulajdonságok egy részhalmaza, miközben figyelmen kívül hagyja az örökölt tulajdonságokat, és mély egyenlőséget vizsgál.

ts
import { assert, test } from 'vitest';

test('assert.deepOwnInclude', () => {
  assert.deepOwnInclude({ a: { b: 2 } }, { a: { b: 2 } });
});

notDeepOwnInclude ​

  • Típus: (haystack: any, needle: any, message?: string) => void

Ellenőrzi, hogy a haystack objektum mélyen nem tartalmazza-e a needle objektumot. Használható annak ellenőrzésére, hogy egy objektumban nem található-e meg a tulajdonságok egy részhalmaza, miközben figyelmen kívül hagyja az örökölt tulajdonságokat, és mély egyenlőséget vizsgál.

ts
import { assert, test } from 'vitest';

test('assert.notDeepOwnInclude', () => {
  assert.notDeepOwnInclude({ a: { b: 2 } }, { a: { c: 3 } });
});

match ​

  • Típus: (value: string, regexp: RegExp, message?: string) => void

Ellenőrzi, hogy a value string illeszkedik-e a regexp reguláris kifejezésre.

ts
import { assert, test } from 'vitest';

test('assert.match', () => {
  assert.match('foobar', /^foo/, 'a reguláris kifejezés illeszkedik');
});

notMatch ​

  • Típus: (value: string, regexp: RegExp, message?: string) => void

Ellenőrzi, hogy a value string nem illeszkedik-e a regexp reguláris kifejezésre.

ts
import { assert, test } from 'vitest';

test('assert.notMatch', () => {
  assert.notMatch('foobar', /^foo/, 'a reguláris kifejezés nem illeszkedik');
});

property ​

  • Típus: <T>(object: T, property: string, message?: string) => void

Ellenőrzi, hogy az object rendelkezik-e property nevű közvetlen vagy örökölt tulajdonsággal.

ts
import { assert, test } from 'vitest';

test('assert.property', () => {
  assert.property({ tea: { green: 'matcha' } }, 'tea');
  assert.property({ tea: { green: 'matcha' } }, 'toString');
});

notProperty ​

  • Típus: <T>(object: T, property: string, message?: string) => void

Ellenőrzi, hogy az object nem rendelkezik-e property nevű közvetlen vagy örökölt tulajdonsággal.

ts
import { assert, test } from 'vitest';

test('assert.notProperty', () => {
  assert.notProperty({ tea: { green: 'matcha' } }, 'coffee');
});

propertyVal ​

  • Típus: <T, V>(object: T, property: string, value: V, message?: string) => void

Ellenőrzi, hogy az object rendelkezik-e property nevű közvetlen vagy örökölt tulajdonsággal, amelynek értéke value. Szigorú egyenlőségvizsgálatot (===) használ az értékek összehasonlításához.

ts
import { assert, test } from 'vitest';

test('assert.notPropertyVal', () => {
  assert.propertyVal({ tea: 'is good' }, 'tea', 'is good');
});

notPropertyVal ​

  • Típus: <T, V>(object: T, property: string, value: V, message?: string) => void

Ellenőrzi, hogy az object nem rendelkezik-e property nevű közvetlen vagy örökölt tulajdonsággal, amelynek értéke value. Szigorú egyenlőségvizsgálatot (===) használ az értékek összehasonlításához.

ts
import { assert, test } from 'vitest';

test('assert.notPropertyVal', () => {
  assert.notPropertyVal({ tea: 'is good' }, 'tea', 'is bad');
  assert.notPropertyVal({ tea: 'is good' }, 'coffee', 'is good');
});

deepPropertyVal ​

  • Típus: <T, V>(object: T, property: string, value: V, message?: string) => void

Ellenőrzi, hogy az object rendelkezik-e property nevű közvetlen vagy örökölt tulajdonsággal, amelynek értéke value. Mély egyenlőségvizsgálatot használ az értékek összehasonlításához.

ts
import { assert, test } from 'vitest';

test('assert.deepPropertyVal', () => {
  assert.deepPropertyVal({ tea: { green: 'matcha' } }, 'tea', {
    green: 'matcha',
  });
});

notDeepPropertyVal ​

  • Típus: <T, V>(object: T, property: string, value: V, message?: string) => void

Ellenőrzi, hogy az object nem rendelkezik-e property nevű közvetlen vagy örökölt tulajdonsággal, amelynek értéke value. Mély egyenlőségvizsgálatot használ az értékek összehasonlításához.

ts
import { assert, test } from 'vitest';

test('assert.deepPropertyVal', () => {
  assert.notDeepPropertyVal({ tea: { green: 'matcha' } }, 'tea', {
    black: 'matcha',
  });
  assert.notDeepPropertyVal({ tea: { green: 'matcha' } }, 'tea', {
    green: 'oolong',
  });
  assert.notDeepPropertyVal({ tea: { green: 'matcha' } }, 'coffee', {
    green: 'matcha',
  });
});

nestedProperty ​

  • Típus: <T>(object: T, property: string, message?: string) => void

Ellenőrzi, hogy az object rendelkezik-e property nevű beágyazott tulajdonsággal, amely pont- és szögletes zárójel jelölést használhat a beágyazott hivatkozásokhoz.

ts
import { assert, test } from 'vitest';

test('assert.deepPropertyVal', () => {
  assert.nestedProperty({ tea: { green: 'matcha' } }, 'tea.green');
});

notNestedProperty ​

  • Típus: <T>(object: T, property: string, message?: string) => void

Ellenőrzi, hogy az object nem rendelkezik-e property nevű beágyazott tulajdonsággal, amely pont- és szögletes zárójel jelölést használhat a beágyazott hivatkozásokhoz.

ts
import { assert, test } from 'vitest';

test('assert.deepPropertyVal', () => {
  assert.notNestedProperty({ tea: { green: 'matcha' } }, 'tea.oolong');
});

nestedPropertyVal ​

  • Típus: <T>(object: T, property: string, value: any, message?: string) => void

Ellenőrzi, hogy az object rendelkezik-e property nevű beágyazott tulajdonsággal, amelynek értéke value. A property pont- és szögletes zárójel jelölést használhat a beágyazott hivatkozásokhoz. Szigorú egyenlőségvizsgálatot (===) használ az értékek összehasonlításához.

ts
import { assert, test } from 'vitest';

test('assert.nestedPropertyVal', () => {
  assert.nestedPropertyVal({ tea: { green: 'matcha' } }, 'tea.green', 'matcha');
});

notNestedPropertyVal ​

  • Típus: <T>(object: T, property: string, value: any, message?: string) => void

Ellenőrzi, hogy az object nem rendelkezik-e property nevű beágyazott tulajdonsággal, amelynek értéke value. A property pont- és szögletes zárójel jelölést használhat a beágyazott hivatkozásokhoz. Szigorú egyenlőségvizsgálatot (===) használ az értékek összehasonlításához.

ts
import { assert, test } from 'vitest';

test('assert.notNestedPropertyVal', () => {
  assert.notNestedPropertyVal(
    { tea: { green: 'matcha' } },
    'tea.green',
    'konacha'
  );
  assert.notNestedPropertyVal(
    { tea: { green: 'matcha' } },
    'coffee.green',
    'matcha'
  );
});

deepNestedPropertyVal ​

  • Típus: <T>(object: T, property: string, value: any, message?: string) => void

Ellenőrzi, hogy az object rendelkezik-e property nevű beágyazott tulajdonsággal, amelynek értéke value. A property pont- és szögletes zárójel jelölést használhat a beágyazott hivatkozásokhoz. Mély egyenlőségvizsgálatot használ az értékek összehasonlításához.

ts
import { assert, test } from 'vitest';

test('assert.notNestedPropertyVal', () => {
  assert.notNestedPropertyVal(
    { tea: { green: 'matcha' } },
    'tea.green',
    'konacha'
  );
  assert.notNestedPropertyVal(
    { tea: { green: 'matcha' } },
    'coffee.green',
    'matcha'
  );
});

notDeepNestedPropertyVal ​

  • Típus: <T>(object: T, property: string, value: any, message?: string) => void

Ellenőrzi, hogy az object nem rendelkezik-e property nevű beágyazott tulajdonsággal, amelynek értéke value. A property pont- és szögletes zárójel jelölést használhat a beágyazott hivatkozásokhoz. Mély egyenlőségvizsgálatot használ az értékek összehasonlításához.

ts
import { assert, test } from 'vitest';

test('assert.notDeepNestedPropertyVal', () => {
  assert.notDeepNestedPropertyVal(
    { tea: { green: { matcha: 'yum' } } },
    'tea.green',
    { oolong: 'yum' }
  );
  assert.notDeepNestedPropertyVal(
    { tea: { green: { matcha: 'yum' } } },
    'tea.green',
    { matcha: 'yuck' }
  );
  assert.notDeepNestedPropertyVal(
    { tea: { green: { matcha: 'yum' } } },
    'tea.black',
    { matcha: 'yum' }
  );
});

lengthOf ​

  • Típus: <T extends { readonly length?: number | undefined } | { readonly size?: number | undefined }>(object: T, length: number, message?: string) => void

Ellenőrzi, hogy az object length vagy size tulajdonságának értéke megegyezik-e a várt length értékkel.

ts
import { assert, test } from 'vitest';

test('assert.lengthOf', () => {
  assert.lengthOf([1, 2, 3], 3, 'a tömb hossza 3');
  assert.lengthOf('foobar', 6, 'a string hossza 6');
  assert.lengthOf(new Set([1, 2, 3]), 3, 'a set mérete 3');
  assert.lengthOf(
    new Map([
      ['a', 1],
      ['b', 2],
      ['c', 3],
    ]),
    3,
    'a map mérete 3'
  );
});

hasAnyKeys ​

  • Típus: <T>(object: T, keys: Array<Object | string> | { [key: string]: any }, message?: string) => void

Ellenőrzi, hogy az object rendelkezik-e legalább egy megadott keys kulccsal. A keys argumentum lehet egy kulcsokat tartalmazó tömb, vagy egy objektum, melynek kulcsait a várt kulcsok halmazaként használja a függvény.

ts
import { assert, test } from 'vitest';

test('assert.hasAnyKeys', () => {
  assert.hasAnyKeys({ foo: 1, bar: 2, baz: 3 }, ['foo', 'iDontExist', 'baz']);
  assert.hasAnyKeys(
    { foo: 1, bar: 2, baz: 3 },
    { foo: 30, iDontExist: 99, baz: 1337 }
  );
  assert.hasAnyKeys(
    new Map([
      [{ foo: 1 }, 'bar'],
      ['key', 'value'],
    ]),
    [{ foo: 1 }, 'key']
  );
  assert.hasAnyKeys(new Set([{ foo: 'bar' }, 'anotherKey']), [
    { foo: 'bar' },
    'anotherKey',
  ]);
});

hasAllKeys ​

  • Típus: <T>(object: T, keys: Array<Object | string> | { [key: string]: any }, message?: string) => void

Ellenőrzi, hogy az object pontosan a megadott keys kulcsokkal rendelkezik-e, és semmilyen más kulccsal. A keys argumentum lehet egy kulcsokat tartalmazó tömb, vagy egy objektum, melynek kulcsait a várt kulcsok halmazaként használja a függvény.

ts
import { assert, test } from 'vitest';

test('assert.hasAllKeys', () => {
  assert.hasAllKeys({ foo: 1, bar: 2, baz: 3 }, ['foo', 'bar', 'baz']);
  assert.hasAllKeys(
    { foo: 1, bar: 2, baz: 3 },
    { foo: 30, bar: 99, baz: 1337 }
  );
  assert.hasAllKeys(
    new Map([
      [{ foo: 1 }, 'bar'],
      ['key', 'value'],
    ]),
    [{ foo: 1 }, 'key']
  );
  assert.hasAllKeys(
    new Set([{ foo: 'bar' }, 'anotherKey'], [{ foo: 'bar' }, 'anotherKey'])
  );
});

containsAllKeys ​

  • Típus: <T>(object: T, keys: Array<Object | string> | { [key: string]: any }, message?: string) => void

Ellenőrzi, hogy az object tartalmazza-e az összes megadott keys kulcsot, de tartalmazhat további kulcsokat is. A keys argumentum lehet egy kulcsokat tartalmazó tömb, vagy egy objektum, melynek kulcsait a várt kulcsok halmazaként használja a függvény.

ts
import { assert, test } from 'vitest';

test('assert.containsAllKeys', () => {
  assert.containsAllKeys({ foo: 1, bar: 2, baz: 3 }, ['foo', 'baz']);
  assert.containsAllKeys({ foo: 1, bar: 2, baz: 3 }, ['foo', 'bar', 'baz']);
  assert.containsAllKeys({ foo: 1, bar: 2, baz: 3 }, { foo: 30, baz: 1337 });
  assert.containsAllKeys(
    { foo: 1, bar: 2, baz: 3 },
    { foo: 30, bar: 99, baz: 1337 }
  );
  assert.containsAllKeys(
    new Map([
      [{ foo: 1 }, 'bar'],
      ['key', 'value'],
    ]),
    [{ foo: 1 }]
  );
  assert.containsAllKeys(
    new Map([
      [{ foo: 1 }, 'bar'],
      ['key', 'value'],
    ]),
    [{ foo: 1 }, 'key']
  );
  assert.containsAllKeys(
    new Set([{ foo: 'bar' }, 'anotherKey'], [{ foo: 'bar' }])
  );
  assert.containsAllKeys(
    new Set([{ foo: 'bar' }, 'anotherKey'], [{ foo: 'bar' }, 'anotherKey'])
  );
});

doesNotHaveAnyKeys ​

  • Típus: <T>(object: T, keys: Array<Object | string> | { [key: string]: any }, message?: string) => void

Ellenőrzi, hogy az object egyetlen megadott keys kulcsot sem tartalmazza. A kulcsok tömbje helyett egyetlen objektumot is megadhatunk, melynek kulcsait a rendszer a vizsgálandó kulcsok halmazaként használja.

ts
import { assert, test } from 'vitest';

test('assert.doesNotHaveAnyKeys', () => {
  assert.doesNotHaveAnyKeys({ foo: 1, bar: 2, baz: 3 }, [
    'one',
    'two',
    'example',
  ]);
  assert.doesNotHaveAnyKeys(
    { foo: 1, bar: 2, baz: 3 },
    { one: 1, two: 2, example: 'foo' }
  );
  assert.doesNotHaveAnyKeys(
    new Map([
      [{ foo: 1 }, 'bar'],
      ['key', 'value'],
    ]),
    [{ one: 'two' }, 'example']
  );
  assert.doesNotHaveAnyKeys(
    new Set([{ foo: 'bar' }, 'anotherKey'], [{ one: 'two' }, 'example'])
  );
});

doesNotHaveAllKeys ​

  • Típus: <T>(object: T, keys: Array<Object | string> | { [key: string]: any }, message?: string) => void

Ellenőrzi, hogy az object a megadott keys kulcsok közül legalább egyet nem tartalmazza. A kulcsok tömbje helyett egyetlen objektumot is megadhatunk, melynek kulcsait a rendszer a vizsgálandó kulcsok halmazaként használja.

ts
import { assert, test } from 'vitest';

test('assert.doesNotHaveAllKeys', () => {
  assert.doesNotHaveAnyKeys({ foo: 1, bar: 2, baz: 3 }, [
    'one',
    'two',
    'example',
  ]);
  assert.doesNotHaveAnyKeys(
    { foo: 1, bar: 2, baz: 3 },
    { one: 1, two: 2, example: 'foo' }
  );
  assert.doesNotHaveAnyKeys(
    new Map([
      [{ foo: 1 }, 'bar'],
      ['key', 'value'],
    ]),
    [{ one: 'two' }, 'example']
  );
  assert.doesNotHaveAnyKeys(new Set([{ foo: 'bar' }, 'anotherKey']), [
    { one: 'two' },
    'example',
  ]);
});

hasAnyDeepKeys ​

  • Típus: <T>(object: T, keys: Array<Object | string> | { [key: string]: any }, message?: string) => void

Ellenőrzi, hogy az object tartalmaz-e legalább egyet a megadott keys kulcsok közül. Mivel a Set és Map objektumokban objektumok is lehetnek kulcsok, ez az állítás mély összehasonlítást végez. A kulcsok tömbje helyett egyetlen objektumot is megadhatunk, melynek kulcsait a rendszer a vizsgálandó kulcsok halmazaként használja.

ts
import { assert, test } from 'vitest';

test('assert.hasAnyDeepKeys', () => {
  assert.hasAnyDeepKeys(
    new Map([
      [{ one: 'one' }, 'valueOne'],
      [1, 2],
    ]),
    { one: 'one' }
  );
  assert.hasAnyDeepKeys(
    new Map([
      [{ one: 'one' }, 'valueOne'],
      [1, 2],
    ]),
    [{ one: 'one' }, { two: 'two' }]
  );
  assert.hasAnyDeepKeys(
    new Map([
      [{ one: 'one' }, 'valueOne'],
      [{ two: 'two' }, 'valueTwo'],
    ]),
    [{ one: 'one' }, { two: 'two' }]
  );
  assert.hasAnyDeepKeys(new Set([{ one: 'one' }, { two: 'two' }]), {
    one: 'one',
  });
  assert.hasAnyDeepKeys(new Set([{ one: 'one' }, { two: 'two' }]), [
    { one: 'one' },
    { three: 'three' },
  ]);
  assert.hasAnyDeepKeys(new Set([{ one: 'one' }, { two: 'two' }]), [
    { one: 'one' },
    { two: 'two' },
  ]);
});

hasAllDeepKeys ​

  • Típus: <T>(object: T, keys: Array<Object | string> | { [key: string]: any }, message?: string) => void

Ellenőrzi, hogy az object tartalmazza-e az összes megadott keys kulcsot. Mivel a Set és Map objektumokban objektumok is lehetnek kulcsok, ez az állítás mély összehasonlítást végez. A kulcsok tömbje helyett egyetlen objektumot is megadhatunk, melynek kulcsait a rendszer a vizsgálandó kulcsok halmazaként használja.

ts
import { assert, test } from 'vitest';

test('assert.hasAllDeepKeys', () => {
  assert.hasAllDeepKeys(new Map([[{ one: 'one' }, 'valueOne']]), {
    one: 'one',
  });
  assert.hasAllDeepKeys(
    new Map([
      [{ one: 'one' }, 'valueOne'],
      [{ two: 'two' }, 'valueTwo'],
    ]),
    [{ one: 'one' }, { two: 'two' }]
  );
  assert.hasAllDeepKeys(new Set([{ one: 'one' }]), { one: 'one' });
  assert.hasAllDeepKeys(new Set([{ one: 'one' }, { two: 'two' }]), [
    { one: 'one' },
    { two: 'two' },
  ]);
});

containsAllDeepKeys ​

  • Típus: <T>(object: T, keys: Array<Object | string> | { [key: string]: any }, message?: string) => void

Ellenőrzi, hogy az object tartalmazza-e az összes megadott keys kulcsot. Mivel a Set és Map objektumokban objektumok is lehetnek kulcsok, ez az állítás mély összehasonlítást végez. A kulcsok tömbje helyett egyetlen objektumot is megadhatunk, melynek kulcsait a rendszer a vizsgálandó kulcsok halmazaként használja.

ts
import { assert, test } from 'vitest';

test('assert.containsAllDeepKeys', () => {
  assert.containsAllDeepKeys(
    new Map([
      [{ one: 'one' }, 'valueOne'],
      [1, 2],
    ]),
    { one: 'one' }
  );
  assert.containsAllDeepKeys(
    new Map([
      [{ one: 'one' }, 'valueOne'],
      [{ two: 'two' }, 'valueTwo'],
    ]),
    [{ one: 'one' }, { two: 'two' }]
  );
  assert.containsAllDeepKeys(new Set([{ one: 'one' }, { two: 'two' }]), {
    one: 'one',
  });
  assert.containsAllDeepKeys(new Set([{ one: 'one' }, { two: 'two' }]), [
    { one: 'one' },
    { two: 'two' },
  ]);
});

doesNotHaveAnyDeepKeys ​

  • Típus: <T>(object: T, keys: Array<Object | string> | { [key: string]: any }, message?: string) => void

Ellenőrzi, hogy az object egyetlen megadott keys kulcsot sem tartalmazza. Mivel a Set és Map objektumokban objektumok is lehetnek kulcsok, ez az állítás mély összehasonlítást végez. A kulcsok tömbje helyett egyetlen objektumot is megadhatunk, melynek kulcsait a rendszer a vizsgálandó kulcsok halmazaként használja.

ts
import { assert, test } from 'vitest';

test('assert.doesNotHaveAnyDeepKeys', () => {
  assert.doesNotHaveAnyDeepKeys(
    new Map([
      [{ one: 'one' }, 'valueOne'],
      [1, 2],
    ]),
    { thisDoesNot: 'exist' }
  );
  assert.doesNotHaveAnyDeepKeys(
    new Map([
      [{ one: 'one' }, 'valueOne'],
      [{ two: 'two' }, 'valueTwo'],
    ]),
    [{ twenty: 'twenty' }, { fifty: 'fifty' }]
  );
  assert.doesNotHaveAnyDeepKeys(new Set([{ one: 'one' }, { two: 'two' }]), {
    twenty: 'twenty',
  });
  assert.doesNotHaveAnyDeepKeys(new Set([{ one: 'one' }, { two: 'two' }]), [
    { twenty: 'twenty' },
    { fifty: 'fifty' },
  ]);
});

doesNotHaveAllDeepKeys ​

  • Típus: <T>(object: T, keys: Array<Object | string> | { [key: string]: any }, message?: string) => void

Ellenőrzi, hogy az object a megadott keys kulcsok közül legalább egyet nem tartalmazza. Mivel a Set és Map objektumokban objektumok is lehetnek kulcsok, ez az állítás mély összehasonlítást végez. A kulcsok tömbje helyett egyetlen objektumot is megadhatunk, melynek kulcsait a rendszer a vizsgálandó kulcsok halmazaként használja.

ts
import { assert, test } from 'vitest';

test('assert.doesNotHaveAllDeepKeys', () => {
  assert.doesNotHaveAllDeepKeys(
    new Map([
      [{ one: 'one' }, 'valueOne'],
      [1, 2],
    ]),
    { thisDoesNot: 'exist' }
  );
  assert.doesNotHaveAllDeepKeys(
    new Map([
      [{ one: 'one' }, 'valueOne'],
      [{ two: 'two' }, 'valueTwo'],
    ]),
    [{ twenty: 'twenty' }, { one: 'one' }]
  );
  assert.doesNotHaveAllDeepKeys(new Set([{ one: 'one' }, { two: 'two' }]), {
    twenty: 'twenty',
  });
  assert.doesNotHaveAllDeepKeys(new Set([{ one: 'one' }, { two: 'two' }]), [
    { one: 'one' },
    { fifty: 'fifty' },
  ]);
});

throws ​

  • Típus:
    • (fn: () => void, errMsgMatcher?: RegExp | string, ignored?: any, message?: string) => void
    • (fn: () => void, errorLike?: ErrorConstructor | Error | null, errMsgMatcher?: RegExp | string | null, message?: string) => void
  • Alias:
    • throw
    • Throw

Ha az errorLike egy Error konstruktor, akkor ellenőrzi, hogy az fn egy olyan hibát dob-e, amely az errorLike egy példánya. Ha az errorLike egy Error példány, akkor ellenőrzi, hogy a dobott hiba ugyanaz a példány-e, mint az errorLike. Ha az errMsgMatcher meg van adva, akkor azt is ellenőrzi, hogy a dobott hiba üzenete megfelel-e az errMsgMatcher értékének.

ts
import { assert, test } from 'vitest';

test('assert.throws', () => {
  assert.throws(fn, 'Error thrown must have this msg');
  assert.throws(fn, /Error thrown must have a msg that matches this/);
  assert.throws(fn, ReferenceError);
  assert.throws(fn, errorInstance);
  assert.throws(
    fn,
    ReferenceError,
    'Error thrown must be a ReferenceError and have this msg'
  );
  assert.throws(
    fn,
    errorInstance,
    'Error thrown must be the same errorInstance and have this msg'
  );
  assert.throws(
    fn,
    ReferenceError,
    /Error thrown must be a ReferenceError and match this/
  );
  assert.throws(
    fn,
    errorInstance,
    /Error thrown must be the same errorInstance and match this/
  );
});

doesNotThrow ​

  • Típus: (fn: () => void, errMsgMatcher?: RegExp | string, ignored?: any, message?: string) => void
  • Típus: (fn: () => void, errorLike?: ErrorConstructor | Error | null, errMsgMatcher?: RegExp | string | null, message?: string) => void

Ha az errorLike egy Error konstruktor, akkor ellenőrzi, hogy az fn nem dob-e olyan hibát, amely az errorLike egy példánya. Ha az errorLike egy Error példány, akkor ellenőrzi, hogy a dobott hiba nem ugyanaz a példány-e, mint az errorLike. Ha az errMsgMatcher meg van adva, akkor azt is ellenőrzi, hogy a dobott hiba üzenete nem felel-e meg az errMsgMatcher értékének.

ts
import { assert, test } from 'vitest';

test('assert.doesNotThrow', () => {
  assert.doesNotThrow(fn, 'Any Error thrown must not have this message');
  assert.doesNotThrow(fn, /Any Error thrown must not match this/);
  assert.doesNotThrow(fn, Error);
  assert.doesNotThrow(fn, errorInstance);
  assert.doesNotThrow(fn, Error, 'Error must not have this message');
  assert.doesNotThrow(fn, errorInstance, 'Error must not have this message');
  assert.doesNotThrow(fn, Error, /Error must not match this/);
  assert.doesNotThrow(fn, errorInstance, /Error must not match this/);
});

operator ​

  • Típus: (val1: OperatorComparable, operator: Operator, val2: OperatorComparable, message?: string) => void

Összehasonlítja a val1-et és a val2-t a megadott operator segítségével.

ts
import { assert, test } from 'vitest';

test('assert.operator', () => {
  assert.operator(1, '<', 2, 'everything is ok');
});

closeTo ​

  • Típus: (actual: number, expected: number, delta: number, message?: string) => void
  • Alias: approximately

Ellenőrzi, hogy az actual érték az expected értéken belül van-e a +/- delta tartományban.

ts
import { assert, test } from 'vitest';

test('assert.closeTo', () => {
  assert.closeTo(1.5, 1, 0.5, 'numbers are close');
});

sameMembers ​

  • Típus: <T>(set1: T[], set2: T[], message?: string) => void

Ellenőrzi, hogy a set1 és a set2 ugyanazokat az elemeket tartalmazza-e, a sorrendtől függetlenül. Szigorú egyenlőségvizsgálatot (===) használ.

ts
import { assert, test } from 'vitest';

test('assert.sameMembers', () => {
  assert.sameMembers([1, 2, 3], [2, 1, 3], 'same members');
});

notSameMembers ​

  • Típus: <T>(set1: T[], set2: T[], message?: string) => void

Ellenőrzi, hogy a set1 és a set2 nem ugyanazokat az elemeket tartalmazza-e, a sorrendtől függetlenül. Szigorú egyenlőségvizsgálatot (===) használ.

ts
import { assert, test } from 'vitest';

test('assert.sameMembers', () => {
  assert.notSameMembers([1, 2, 3], [5, 1, 3], 'not same members');
});

sameDeepMembers ​

  • Típus: <T>(set1: T[], set2: T[], message?: string) => void

Ellenőrzi, hogy a set1 és a set2 ugyanazokat az elemeket tartalmazza-e, a sorrendtől függetlenül. Mély egyenlőségvizsgálatot használ.

ts
import { assert, test } from 'vitest';

test('assert.sameDeepMembers', () => {
  assert.sameDeepMembers(
    [{ a: 1 }, { b: 2 }, { c: 3 }],
    [{ b: 2 }, { a: 1 }, { c: 3 }],
    'same deep members'
  );
});

notSameDeepMembers ​

  • Típus: <T>(set1: T[], set2: T[], message?: string) => void

Ellenőrzi, hogy a set1 és a set2 nem ugyanazokat az elemeket tartalmazza-e, a sorrendtől függetlenül. Mély egyenlőségvizsgálatot használ.

ts
import { assert, test } from 'vitest';

test('assert.sameDeepMembers', () => {
  assert.sameDeepMembers(
    [{ a: 1 }, { b: 2 }, { c: 3 }],
    [{ b: 2 }, { a: 1 }, { c: 3 }],
    'same deep members'
  );
});

sameOrderedMembers ​

  • Típus: <T>(set1: T[], set2: T[], message?: string) => void

Ellenőrzi, hogy a set1 és a set2 ugyanazokat az elemeket tartalmazza-e, ugyanabban a sorrendben. Szigorú egyenlőségvizsgálatot (===) használ.

ts
import { assert, test } from 'vitest';

test('assert.sameOrderedMembers', () => {
  assert.sameOrderedMembers([1, 2, 3], [1, 2, 3], 'same ordered members');
});

notSameOrderedMembers ​

  • Típus: <T>(set1: T[], set2: T[], message?: string) => void

Ellenőrzi, hogy a set1 és a set2 nem ugyanazokat az elemeket tartalmazza-e, ugyanabban a sorrendben. Szigorú egyenlőségvizsgálatot (===) használ.

ts
import { assert, test } from 'vitest';

test('assert.notSameOrderedMembers', () => {
  assert.notSameOrderedMembers(
    [1, 2, 3],
    [2, 1, 3],
    'not same ordered members'
  );
});

sameDeepOrderedMembers ​

  • Típus: <T>(set1: T[], set2: T[], message?: string) => void

Ellenőrzi, hogy a set1 és a set2 ugyanazokat az elemeket tartalmazza-e, ugyanabban a sorrendben. Mély egyenlőségvizsgálatot használ.

ts
import { assert, test } from 'vitest';

test('assert.sameDeepOrderedMembers', () => {
  assert.sameDeepOrderedMembers(
    [{ a: 1 }, { b: 2 }, { c: 3 }],
    [{ a: 1 }, { b: 2 }, { c: 3 }],
    'same deep ordered members'
  );
});

notSameDeepOrderedMembers ​

  • Típus: <T>(set1: T[], set2: T[], message?: string) => void

Ellenőrzi, hogy a set1 és set2 tömbök nem tartalmaznak-e mélyen egyenlő elemeket ugyanabban a sorrendben.

ts
import { assert, test } from 'vitest';

test('assert.notSameDeepOrderedMembers', () => {
  assert.notSameDeepOrderedMembers(
    [{ a: 1 }, { b: 2 }, { c: 3 }],
    [{ a: 1 }, { b: 2 }, { z: 5 }],
    'A mélyen rendezett elemek nem azonosak'
  );
  assert.notSameDeepOrderedMembers(
    [{ a: 1 }, { b: 2 }, { c: 3 }],
    [{ b: 2 }, { a: 1 }, { c: 3 }],
    'A mélyen rendezett elemek nem azonosak'
  );
});

includeMembers ​

  • Típus: <T>(superset: T[], subset: T[], message?: string) => void

Ellenőrzi, hogy a subset tömb minden eleme megtalálható-e a superset tömbben, tetszőleges sorrendben. Szigorú egyenlőségvizsgálatot (===) használ. A duplikátumokat nem veszi figyelembe.

ts
import { assert, test } from 'vitest';

test('assert.includeMembers', () => {
  assert.includeMembers(
    [1, 2, 3],
    [2, 1, 2],
    'A subset elemei megtalálhatók a supersetben'
  );
});

notIncludeMembers ​

  • Típus: <T>(superset: T[], subset: T[], message?: string) => void

Ellenőrzi, hogy a subset tömb legalább egy eleme nem található meg a superset tömbben, tetszőleges sorrendben. Szigorú egyenlőségvizsgálatot (===) használ. A duplikátumokat nem veszi figyelembe.

ts
import { assert, test } from 'vitest';

test('assert.notIncludeMembers', () => {
  assert.notIncludeMembers(
    [1, 2, 3],
    [5, 1],
    'A subset elemei nem mind találhatók meg a supersetben'
  );
});

includeDeepMembers ​

  • Típus: <T>(superset: T[], subset: T[], message?: string) => void

Ellenőrzi, hogy a subset tömb minden eleme mély egyenlőségvizsgálattal megtalálható-e a superset tömbben, tetszőleges sorrendben. A duplikátumokat nem veszi figyelembe.

ts
import { assert, test } from 'vitest';

test('assert.includeDeepMembers', () => {
  assert.includeDeepMembers(
    [{ a: 1 }, { b: 2 }, { c: 3 }],
    [{ b: 2 }, { a: 1 }, { b: 2 }],
    'A subset elemei mély összehasonlítással megtalálhatók a supersetben'
  );
});

notIncludeDeepMembers ​

  • Típus: <T>(superset: T[], subset: T[], message?: string) => void

Ellenőrzi, hogy a subset tömb legalább egy eleme mély egyenlőségvizsgálattal nem található meg a superset tömbben, tetszőleges sorrendben. A duplikátumokat nem veszi figyelembe.

ts
import { assert, test } from 'vitest';

test('assert.notIncludeDeepMembers', () => {
  assert.notIncludeDeepMembers(
    [{ a: 1 }, { b: 2 }, { c: 3 }],
    [{ b: 2 }, { f: 5 }],
    'A subset elemei mély összehasonlításban nem mind találhatók meg a supersetben'
  );
});

includeOrderedMembers ​

  • Típus: <T>(superset: T[], subset: T[], message?: string) => void

Ellenőrzi, hogy a subset tömb elemei a superset tömb elején kezdve, ugyanabban a sorrendben megtalálhatók-e. Szigorú egyenlőségvizsgálatot (===) használ.

ts
import { assert, test } from 'vitest';

test('assert.includeOrderedMembers', () => {
  assert.includeOrderedMembers(
    [1, 2, 3],
    [1, 2],
    'A rendezett elemek részei a halmaznak'
  );
});

notIncludeOrderedMembers ​

  • Típus: <T>(superset: T[], subset: T[], message?: string) => void

Ellenőrzi, hogy a subset tömb elemei a superset tömb elején kezdve, nem ugyanabban a sorrendben találhatók meg. Szigorú egyenlőségvizsgálatot (===) használ.

ts
import { assert, test } from 'vitest';

test('assert.notIncludeOrderedMembers', () => {
  assert.notIncludeOrderedMembers(
    [1, 2, 3],
    [2, 1],
    'A rendezett elemek nem részei a halmaznak'
  );
  assert.notIncludeOrderedMembers(
    [1, 2, 3],
    [2, 3],
    'A rendezett elemek nem részei a halmaznak'
  );
});

includeDeepOrderedMembers ​

  • Típus: <T>(superset: T[], subset: T[], message?: string) => void

Ellenőrzi, hogy a subset tömb elemei a superset tömb elején kezdve, ugyanabban a sorrendben, mély egyenlőségvizsgálattal megtalálhatók-e.

ts
import { assert, test } from 'vitest';

test('assert.includeDeepOrderedMembers', () => {
  assert.includeDeepOrderedMembers(
    [{ a: 1 }, { b: 2 }, { c: 3 }],
    [{ a: 1 }, { b: 2 }],
    'A rendezett elemek mély összehasonlításban részei a halmaznak'
  );
});

notIncludeDeepOrderedMembers ​

  • Típus: <T>(superset: T[], subset: T[], message?: string) => void

Ellenőrzi, hogy a subset tömb elemei a superset tömb elején kezdve, nem ugyanabban a sorrendben, mély egyenlőségvizsgálattal találhatók meg.

ts
import { assert, test } from 'vitest';

test('assert.includeDeepOrderedMembers', () => {
  assert.notIncludeDeepOrderedMembers(
    [{ a: 1 }, { b: 2 }, { c: 3 }],
    [{ a: 1 }, { f: 5 }],
    'A rendezett elemek mély összehasonlításban nem részei a halmaznak'
  );
  assert.notIncludeDeepOrderedMembers(
    [{ a: 1 }, { b: 2 }, { c: 3 }],
    [{ b: 2 }, { a: 1 }],
    'A rendezett elemek mély összehasonlításban nem részei a halmaznak'
  );
  assert.notIncludeDeepOrderedMembers(
    [{ a: 1 }, { b: 2 }, { c: 3 }],
    [{ b: 2 }, { c: 3 }],
    'A rendezett elemek mély összehasonlításban nem részei a halmaznak'
  );
});

oneOf ​

  • Típus: <T>(inList: T, list: T[], message?: string) => void

Ellenőrzi, hogy a inList (nem objektum, nem tömb) érték szerepel-e a list tömbben.

ts
import { assert, test } from 'vitest';

test('assert.oneOf', () => {
  assert.oneOf(1, [2, 1], 'Nem található a tömbben');
});

changes ​

  • Típus: <T>(modifier: Function, object: T, property: string, message?: string) => void

Ellenőrzi, hogy a modifier függvény megváltoztatja-e az object objektum property tulajdonságának értékét.

ts
import { assert, test } from 'vitest';

test('assert.changes', () => {
  const obj = { val: 10 };
  function fn() {
    obj.val = 22;
  }
  assert.changes(fn, obj, 'val');
});

changesBy ​

  • Típus: <T>(modifier: Function, object: T, property: string, change: number, message?: string) => void

Ellenőrzi, hogy a modifier függvény az object objektum property tulajdonságának értékét pontosan a change értékkel változtatja-e meg.

ts
import { assert, test } from 'vitest';

test('assert.changesBy', () => {
  const obj = { val: 10 };
  function fn() {
    obj.val += 2;
  }
  assert.changesBy(fn, obj, 'val', 2);
});

doesNotChange ​

  • Típus: <T>(modifier: Function, object: T, property: string, message?: string) => void

Ellenőrzi, hogy a modifier függvény nem változtatja meg az object objektum property tulajdonságának értékét.

ts
import { assert, test } from 'vitest';

test('assert.doesNotChange', () => {
  const obj = { val: 10 };
  function fn() {
    obj.val += 2;
  }
  assert.doesNotChange(fn, obj, 'val', 2);
});

changesButNotBy ​

  • Típus: <T>(modifier: Function, object: T, property: string, change:number, message?: string) => void

Ellenőrzi, hogy a modifier függvény megváltoztatja az object objektum property tulajdonságának értékét, de nem a change értékkel.

ts
import { assert, test } from 'vitest';

test('assert.changesButNotBy', () => {
  const obj = { val: 10 };
  function fn() {
    obj.val += 10;
  }
  assert.changesButNotBy(fn, obj, 'val', 5);
});

increases ​

  • Típus: <T>(modifier: Function, object: T, property: string, message?: string) => void

Ellenőrzi, hogy a modifier függvény növeli-e az object objektum numerikus property tulajdonságának értékét.

ts
import { assert, test } from 'vitest';

test('assert.increases', () => {
  const obj = { val: 10 };
  function fn() {
    obj.val = 13;
  }
  assert.increases(fn, obj, 'val');
});

increasesBy ​

  • Típus: <T>(modifier: Function, object: T, property: string, change: number, message?: string) => void

Ellenőrzi, hogy a modifier függvény az object objektum numerikus property tulajdonságának értékét pontosan a change értékkel növeli-e.

ts
import { assert, test } from 'vitest';

test('assert.increases', () => {
  const obj = { val: 10 };
  function fn() {
    obj.val += 10;
  }
  assert.increases(fn, obj, 'val', 10);
});

doesNotIncrease ​

  • Típus: <T>(modifier: Function, object: T, property: string, message?: string) => void

Ellenőrzi, hogy a modifier függvény nem növeli az object objektum numerikus property tulajdonságának értékét.

ts
import { assert, test } from 'vitest';

test('assert.doesNotIncrease', () => {
  const obj = { val: 10 };
  function fn() {
    obj.val = 8;
  }
  assert.doesNotIncrease(fn, obj, 'val');
});

increasesButNotBy ​

  • Típus: <T>(modifier: Function, object: T, property: string, change: number, message?: string) => void

Ellenőrzi, hogy a modifier függvény növeli az object objektum numerikus property tulajdonságának értékét, de nem a change értékkel.

ts
import { assert, test } from 'vitest';

test('assert.increasesButNotBy', () => {
  const obj = { val: 10 };
  function fn() {
    obj.val += 15;
  }
  assert.increasesButNotBy(fn, obj, 'val', 10);
});

decreases ​

  • Típus: <T>(modifier: Function, object: T, property: string, message?: string) => void

Ellenőrzi, hogy a modifier függvény csökkenti-e az object objektum numerikus property tulajdonságának értékét.

ts
import { assert, test } from 'vitest';

test('assert.decreases', () => {
  const obj = { val: 10 };
  function fn() {
    obj.val = 5;
  }
  assert.decreases(fn, obj, 'val');
});

decreasesBy ​

  • Típus: <T>(modifier: Function, object: T, property: string, change: number, message?: string) => void

Ellenőrzi, hogy a modifier függvény az object objektum numerikus property tulajdonságának értékét pontosan a change értékkel csökkenti-e.

ts
import { assert, test } from 'vitest';

test('assert.decreasesBy', () => {
  const obj = { val: 10 };
  function fn() {
    obj.val -= 5;
  }
  assert.decreasesBy(fn, obj, 'val', 5);
});

doesNotDecrease ​

  • Típus: <T>(modifier: Function, object: T, property: string, message?: string) => void

Ellenőrzi, hogy a modifier függvény nem csökkenti az object objektum numerikus property tulajdonságának értékét.

ts
import { assert, test } from 'vitest';

test('assert.doesNotDecrease', () => {
  const obj = { val: 10 };
  function fn() {
    obj.val = 15;
  }
  assert.doesNotDecrease(fn, obj, 'val');
});

doesNotDecreaseBy ​

  • Típus: <T>(modifier: Function, object: T, property: string, change: number, message?: string) => void

Ellenőrzi, hogy a modifier függvény nem csökkenti-e a numerikus object objektum property tulajdonságának értékét, vagy a modifier függvény visszatérési értékét a megadott change értékkel.

ts
import { assert, test } from 'vitest';

test('assert.doesNotDecreaseBy', () => {
  const obj = { val: 10 };
  function fn() {
    obj.val = 5;
  }
  assert.doesNotDecreaseBy(fn, obj, 'val', 1);
});

decreasesButNotBy ​

  • Típus: <T>(modifier: Function, object: T, property: string, change: number, message?: string) => void

Ellenőrzi, hogy a modifier függvény csökkenti-e a numerikus object objektum property tulajdonságának értékét, vagy a modifier függvény visszatérési értékét, de nem a megadott change értékkel.

ts
import { assert, test } from 'vitest';

test('assert.decreasesButNotBy', () => {
  const obj = { val: 10 };
  function fn() {
    obj.val = 5;
  }
  assert.decreasesButNotBy(fn, obj, 'val', 1);
});

ifError ​

  • Típus: <T>(object: T, message?: string) => void

Ellenőrzi, hogy az object hamis érték-e, és hibát dob, ha nem az. Ezt azért adták hozzá, hogy a Chai közvetlenül helyettesíthesse a Node assert osztályát.

ts
import { assert, test } from 'vitest';

test('assert.ifError', () => {
  const err = new Error('I am a custom error');
  assert.ifError(err); // Újradobja a hibát!
});

isExtensible ​

  • Típus: <T>(object: T, message?: string) => void
  • Alias: extensible

Ellenőrzi, hogy az object bővíthető-e (új tulajdonságok adhatók hozzá).

ts
import { assert, test } from 'vitest';

test('assert.isExtensible', () => {
  assert.isExtensible({});
});

isNotExtensible ​

  • Típus: <T>(object: T, message?: string) => void
  • Alias: notExtensible

Ellenőrzi, hogy az object nem bővíthető-e (nem adhatók hozzá új tulajdonságok).

ts
import { assert, test } from 'vitest';

test('assert.isNotExtensible', () => {
  const nonExtensibleObject = Object.preventExtensions({});
  const sealedObject = Object.seal({});
  const frozenObject = Object.freeze({});

  assert.isNotExtensible(nonExtensibleObject);
  assert.isNotExtensible(sealedObject);
  assert.isNotExtensible(frozenObject);
});

isSealed ​

  • Típus: <T>(object: T, message?: string) => void
  • Alias: sealed

Ellenőrzi, hogy az object le van-e zárva (nem adhatók hozzá új tulajdonságok, és a meglévő tulajdonságok nem távolíthatók el).

ts
import { assert, test } from 'vitest';

test('assert.isSealed', () => {
  const sealedObject = Object.seal({});
  const frozenObject = Object.freeze({});

  assert.isSealed(sealedObject);
  assert.isSealed(frozenObject);
});

isNotSealed ​

  • Típus: <T>(object: T, message?: string) => void
  • Alias: notSealed

Ellenőrzi, hogy az object nincs-e lezárva (új tulajdonságok adhatók hozzá, és a meglévő tulajdonságok eltávolíthatók).

ts
import { assert, test } from 'vitest';

test('assert.isNotSealed', () => {
  assert.isNotSealed({});
});

isFrozen ​

  • Típus: <T>(object: T, message?: string) => void
  • Alias: frozen

Ellenőrzi, hogy az object fagyasztott-e (nem adhatók hozzá új tulajdonságok, és a meglévő tulajdonságok nem módosíthatók).

ts
import { assert, test } from 'vitest';

test('assert.isFrozen', () => {
  const frozenObject = Object.freeze({});
  assert.frozen(frozenObject);
});

isNotFrozen ​

  • Típus: <T>(object: T, message?: string) => void
  • Alias: notFrozen

Ellenőrzi, hogy az object nincs-e fagyasztva (új tulajdonságok adhatók hozzá, és a meglévő tulajdonságok módosíthatók).

ts
import { assert, test } from 'vitest';

test('assert.isNotFrozen', () => {
  assert.isNotFrozen({});
});

isEmpty ​

  • Típus: <T>(target: T, message?: string) => void
  • Alias: empty

Ellenőrzi, hogy a target üres-e (nem tartalmaz értékeket). Tömbök és stringek esetén a length tulajdonságot ellenőrzi. Map és Set példányok esetén a size tulajdonságot ellenőrzi. Nem függvény típusú objektumok esetén megszámolja a saját, felsorolható string kulcsait.

ts
import { assert, test } from 'vitest';

test('assert.isEmpty', () => {
  assert.isEmpty([]);
  assert.isEmpty('');
  assert.isEmpty(new Map());
  assert.isEmpty({});
});

isNotEmpty ​

  • Típus: <T>(object: T, message?: string) => void
  • Alias: notEmpty

Ellenőrzi, hogy a target nem üres-e (tartalmaz értékeket). Tömbök és stringek esetén a length tulajdonságot ellenőrzi. Map és Set példányok esetén a size tulajdonságot ellenőrzi. Nem függvény típusú objektumok esetén megszámolja a saját, felsorolható string kulcsait.

ts
import { assert, test } from 'vitest';

test('assert.isNotEmpty', () => {
  assert.isNotEmpty([1, 2]);
  assert.isNotEmpty('34');
  assert.isNotEmpty(new Set([5, 6]));
  assert.isNotEmpty({ key: 7 });
});
Pager
Előző oldalexpectTypeOf
Következő oldalassertType

A MIT licenc alapján kiadva.

Copyright (c) 2024 Mithril Contributors

https://v1.vitest.dev/api/assert

A MIT licenc alapján kiadva.

Copyright (c) 2024 Mithril Contributors