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.
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.
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.
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.
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 (==).
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 (!=).
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 (===).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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
.
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
.
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.
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.
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 avalue
függvény-e.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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á).
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).
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).
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).
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).
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).
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.
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.
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 });
});