Skip to main content
meow:test is the API behind meow test. Import it in any *.test.* / *.spec.* file — there’s nothing to install, and each file runs in its own deterministic isolate.

test()

Registers a test. meow test runs every registered test in the file, in order, and reports each as or .

expect()

Matchers

Passes when Object.is(actual, expected) — identity for objects, value equality for primitives.
Passes on deep structural equality — recursively compares arrays and plain objects.
Passes when the value is exactly null.
Passes when the value is not undefined.
Passes on JavaScript truthiness / falsiness.
Calls the actual value (which must be a function) and passes if it throws.
Inverts the matcher that follows: expect(x).not.toBe(y).

Examples

example.test.ts
A failing matcher throws with a readable message that the runner surfaces under the test name:
Because every test file runs in a deterministic isolate (frozen clock, seeded RNG, pinned timezone), assertions on time- or random-derived values are stable. See Testing and Determinism.

Run your tests

The meow test command, discovery rules, and output.