Bun

interface

test.default.TestContextAssert

interface TestContextAssert

  • deepEqual: {(actual: unknown, expected: unknown, message?: Error | AssertMessageFunction) => void; (actual: unknown, expected: unknown, message: string, ...args: unknown[]) => void}
  • deepStrictEqual: {(actual: unknown, expected: T, message?: Error | AssertMessageFunction) => asserts actual is T; (actual: unknown, expected: T, message: string, ...args: unknown[]) => asserts actual is T}
  • doesNotMatch: {(value: string, regExp: RegExp, message?: Error | AssertMessageFunction) => void; (value: string, regExp: RegExp, message: string, ...args: unknown[]) => void}
  • doesNotReject: {(block: Promise<unknown> | () => Promise<unknown>, message?: string | Error) => Promise<void>; (block: Promise<unknown> | () => Promise<unknown>, error: AssertPredicate, message?: string | Error) => Promise<void>}
  • doesNotThrow: {(block: () => unknown, message?: string | Error) => void; (block: () => unknown, error: AssertPredicate, message?: string | Error) => void}
  • equal: {(actual: unknown, expected: unknown, message?: Error | AssertMessageFunction) => void; (actual: unknown, expected: unknown, message: string, ...args: unknown[]) => void}
  • fail: (message?: string | Error) => never
  • ifError: (value: unknown) => asserts value is undefined | null
  • match: {(value: string, regExp: RegExp, message?: Error | AssertMessageFunction) => void; (value: string, regExp: RegExp, message: string, ...args: unknown[]) => void}
  • notDeepEqual: {(actual: unknown, expected: unknown, message?: Error | AssertMessageFunction) => void; (actual: unknown, expected: unknown, message: string, ...args: unknown[]) => void}
  • notDeepStrictEqual: {(actual: unknown, expected: unknown, message?: Error | AssertMessageFunction) => void; (actual: unknown, expected: unknown, message: string, ...args: unknown[]) => void}
  • notEqual: {(actual: unknown, expected: unknown, message?: Error | AssertMessageFunction) => void; (actual: unknown, expected: unknown, message: string, ...args: unknown[]) => void}
  • notStrictEqual: {(actual: unknown, expected: unknown, message?: Error | AssertMessageFunction) => void; (actual: unknown, expected: unknown, message: string, ...args: unknown[]) => void}
  • ok: {(value: unknown, message?: Error | AssertMessageFunction) => asserts value; (value: unknown, message: string, ...args: unknown[]) => asserts value}
  • partialDeepStrictEqual: {(actual: unknown, expected: unknown, message?: Error | AssertMessageFunction) => void; (actual: unknown, expected: unknown, message: string, ...args: unknown[]) => void}
  • rejects: {(block: Promise<unknown> | () => Promise<unknown>, message?: string | Error) => Promise<void>; (block: Promise<unknown> | () => Promise<unknown>, error: AssertPredicate, message?: string | Error) => Promise<void>}
  • strictEqual: {(actual: unknown, expected: T, message?: Error | AssertMessageFunction) => asserts actual is T; (actual: unknown, expected: T, message: string, ...args: unknown[]) => asserts actual is T}
  • throws: {(block: () => unknown, message?: string | Error) => void; (block: () => unknown, error: AssertPredicate, message?: string | Error) => void}
  • value: any,
    path: string,
    ): void;

    This function serializes value and writes it to the file specified by path.

    test('snapshot test with default serialization', (t) => {
      t.assert.fileSnapshot({ value1: 1, value2: 2 }, './snapshots/snapshot.json');
    });
    

    This function differs from context.assert.snapshot() in the following ways:

    • The snapshot file path is explicitly provided by the user.
    • Each snapshot file is limited to a single snapshot value.
    • No additional escaping is performed by the test runner.

    These differences allow snapshot files to better support features such as syntax highlighting.

    @param value

    A value to serialize to a string. If Node.js was started with the --test-update-snapshots flag, the serialized value is written to path. Otherwise, the serialized value is compared to the contents of the existing snapshot file.

    @param path

    The file where the serialized value is written.

    @param options

    Optional configuration options.

  • value: any,
    ): void;

    This function implements assertions for snapshot testing.

    test('snapshot test with default serialization', (t) => {
      t.assert.snapshot({ value1: 1, value2: 2 });
    });
    
    test('snapshot test with custom serialization', (t) => {
      t.assert.snapshot({ value3: 3, value4: 4 }, {
        serializers: [(value) => JSON.stringify(value)]
      });
    });
    
    @param value

    A value to serialize to a string. If Node.js was started with the --test-update-snapshots flag, the serialized value is written to the snapshot file. Otherwise, the serialized value is compared to the corresponding value in the existing snapshot file.