# dubzzz/fast-check

Property based testing framework for JavaScript (like QuickCheck) written in TypeScript

Repository: https://github.com/dubzzz/fast-check
Canonical: https://ross.abutalabs.com/products/fast-check
Homepage: https://fast-check.dev/
Language: TypeScript
License: MIT
License Family: permissive
Topics: property-based-testing, quickcheck, typescript, testing, generative-testing, unit-testing, tdd, fuzzing, faker
Last push: 2026-08-26T21:42:21+00:00

## Health v2 (maintenance only)
Score: 97/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 99, release rhythm 92, longevity 100
- inputs: {"age_days": 3229, "days_push": 7, "days_rel": 56, "gap_med": 0, "n_releases_24m": 50}
- flags: no_readme
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 5118, forks 210 (observed 2026-08-28T04:09:10.867256+00:00)

## What it is
fast-check is a property-based testing framework for JavaScript and TypeScript, inspired by QuickCheck. It automatically generates test inputs, runs assertions over hundreds of cases, and shrinks failing inputs to minimal reproducing examples.

## Use cases
- property-based testing for javascript functions
- fuzz test a parser to find crashes
- generate random test inputs automatically
- shrink failing test cases to minimal examples
- detect race conditions in async code
- model-based testing of stateful systems
- find edge cases my unit tests miss

## When to choose
- you want to test invariants over many generated inputs instead of hand-picked examples
- you need shrinking to minimize failing cases
- you use Jest, Vitest, Mocha, Ava, or any test runner and want a runner-agnostic library
- you want to fuzz parsers or uncover subtle bugs like prototype poisoning

## When to avoid
- you only need simple example-based unit tests with fixed inputs
- your team is unfamiliar with property-based testing and cannot invest in learning it
- you need property-based testing outside the JavaScript/TypeScript ecosystem

## Facets
- artifact type: library
- maturity: active
- function: testing, fuzzing, mocking, data-generation
- domain: testing, developer-tools
- platform: bun, browser, cross-platform
- tags: property-based-testing, quickcheck, shrinker, arbitraries, generative-testing, tdd, test-runner-agnostic, javascript, typescript, nodejs, deno

## Member repositories
- dubzzz/fast-check (main) score 97

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:09:10.867256+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T18:02:06.556196+00:00, confidence not recorded.
  - homepage: https://fast-check.dev/ (fetched 2026-08-29T08:57:11.195531+00:00, sha 8d62610c2e30)
  - site_page: https://fast-check.dev/docs/introduction (fetched 2026-08-29T08:57:11.199065+00:00, sha c9bfdaaf6d8b)
  - site_page: https://fast-check.dev/docs/tutorials/quick-start/basic-setup (fetched 2026-08-29T08:57:11.200863+00:00, sha 43cc7dd64bc2)
  - site_page: https://fast-check.dev/docs/tutorials (fetched 2026-08-29T08:57:11.202399+00:00, sha 227ecad274dd)
  - site_page: https://fast-check.dev/docs/support-us (fetched 2026-08-29T08:57:11.203940+00:00, sha 962cfea500aa)
  - site_page: https://fast-check.dev/docs/api (fetched 2026-08-29T08:57:11.205350+00:00, sha c8a457a8ca72)
- Data as of 2026-08-30T08:39:29.467469+00:00.
