Skip to content
Vitest 2
Main Navigation ÚtmutatóAPIKonfigurációBöngésző módHaladó
2.1.9
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

Teszt API Dokumentáció

Mock függvények

Vi

expect

expectTypeOf

assert

assertType

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://v2.vitest.dev/api/assert

A MIT licenc alapján kiadva.

Copyright (c) 2024 Mithril Contributors