Bun

interface

test.default.TestContextAssert

interface TestContextAssert

  • deepEqual: (actual: unknown, expected: unknown, message?: string | Error) => void
  • deepStrictEqual: (actual: unknown, expected: T, message?: string | Error) => asserts actual is T
  • doesNotMatch: (value: string, regExp: RegExp, message?: string | Error) => 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?: string | Error) => void
  • fail: {}
  • ifError: (value: unknown) => asserts value is undefined | null
  • match: (value: string, regExp: RegExp, message?: string | Error) => void
  • notDeepEqual: (actual: unknown, expected: unknown, message?: string | Error) => void
  • notDeepStrictEqual: (actual: unknown, expected: unknown, message?: string | Error) => void
  • notEqual: (actual: unknown, expected: unknown, message?: string | Error) => void
  • notStrictEqual: (actual: unknown, expected: unknown, message?: string | Error) => void
  • ok: (value: unknown, message?: string | Error) => asserts value
  • partialDeepStrictEqual: (actual: unknown, expected: unknown, message?: string | Error) => 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?: string | Error) => 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.