fast-check

C
C tier on Property-Based Testing ToolsScore 6.9 · #2 of 27
Android app
Not listed
Free plan
Yes
Runs on
api, Linux, Web
fast-check.dev
The fast-check homepage

Summary

fast-check is a property-based testing library for JavaScript and TypeScript. It generates many inputs, checks specified behavior, and reduces failures to smaller counterexamples that can help pinpoint a problem. Tests are built from arbitraries that create values, properties that express expected behavior, runners that execute checks, and plugins that extend runners. It works with multiple test runners, including Jest, Mocha, Vitest, Ava, Bun, Deno, and the Node.js test runner. You can set seeds, generated value sizes, time limits, and reporting options globally or for an individual assertion. The library also supports stateful testing and reproducible failures, and its project describes fuzzing and generative testing for finding issues such as race conditions and prototype poisoning. It is free and open source under the MIT license. Version 5.x requires Node.js 22.12.0 or later and ECMAScript 2025; TypeScript 5.8 or later is optional.

Who it is for

It suits JavaScript and TypeScript developers who want to check behavior across generated inputs, including stateful scenarios. Its runner-agnostic design can fit projects using a range of test runners.

What is good

  • Shrinks failing inputs into smaller counterexamples.
  • Works with several popular test runners.
  • Supports stateful testing and reproducible failures.
  • Runs can be configured with seeds and time limits.
  • Free under the MIT license.

What to know first

  • Version 5.x requires Node.js 22.12.0 or later.
  • Version 5.x requires ECMAScript 2025.
  • TypeScript 5.8 or later is optional, not required.

Verdict

fast-check provides a structured way to exercise JavaScript and TypeScript behavior across generated cases, with shrinking to help investigate failures. Check the version 5.x runtime requirements before adopting it.

fast-check plans and pricing

All plans
fast-check Free MIT-licensed JavaScript/TypeScript testing library github.com · 30 Sept 2026

Compared on property-based testing tools

Free plan
Yesfast-check.dev
Supported languages
JavaScript, TypeScriptfast-check.dev
Test runner support
Jest, Mocha, Vitest, Ava, Bun, Deno, Node.js test runnerfast-check.dev
Failing-case shrinking
Yesfast-check.dev
Stateful testing
Yesfast-check.dev
Reproducible failures
Yesfast-check.dev

Facts

Purpose
fast-check is a property-based testing library for JavaScript and TypeScript that generates inputs, runs assertions over many cases, and shrinks failures to smaller counterexamples.fast-check.dev · 30 Sept 2026
Testing workflow
The library is test-runner agnostic and works with Jest, Mocha, Vitest, and other test runners.fast-check.dev · 30 Sept 2026
Test building blocks
Tests use arbitraries to generate values, properties to specify expected behavior, runners to execute properties, and plugins to extend runners.fast-check.dev · 30 Sept 2026
Configuration
Users can configure runs, seeds, generated value sizes, time limits, and result reporting globally or per assertion.fast-check.dev · 30 Sept 2026
Failure diagnosis
When a property fails, fast-check shrinks the input to a smaller counterexample and reports information that helps diagnose the failure.github.com · 30 Sept 2026
Additional testing
The project describes fuzzing and generative testing for finding issues including race conditions and prototype poisoning.fast-check.dev · 30 Sept 2026
Integrations
The ecosystem lists official integrations for AVA, Jest, and Vitest, along with connectors for libraries such as Zod and io-ts.fast-check.dev · 30 Sept 2026
Security testing
The ecosystem documents an official @fast-check/poisoning package for checking whether specially crafted inputs cause global prototype modifications.fast-check.dev · 30 Sept 2026
Runtime requirements
The repository lists fast-check 5.x as requiring Node.js 22.12.0 or later, ECMAScript 2025, and optionally TypeScript 5.8 or later.github.com · 30 Sept 2026
Open source
The GitHub repository identifies fast-check as a public project released under the MIT license.github.com · 30 Sept 2026
Support
The project invites code and non-code contributions, community help, and financial support through GitHub Sponsors or OpenCollective.fast-check.dev · 30 Sept 2026
Ecosystem limitations
The ecosystem page says it can provide stability and maintenance details for official packages, but no specific guarantees for non-official packages.fast-check.dev · 30 Sept 2026

Best fast-check alternatives

See all 12

Where it ranks on Everything Xiaomi

Is fast-check yours?

Claim it for free: prove the domain, then correct facts, plans and screenshots. An editor reviews every change.

Sources