dubzzz/fast-check

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

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 33 minutes ago
Added to GitGenius on September 13th, 2026
Created on October 30th, 2017
Open Issues & Pull Requests: 76 (+0)
GitHub issues: Enabled
Number of forks: 212
Total Stargazers: 5,145 (+0)
Total Subscribers: 15 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Issue API getrepoissuespagesummary failed: 429 Rate limit exceeded. Please try again later.

Detailed Description

fast-check is a property-based testing framework for JavaScript and TypeScript that automatically generates test cases to verify that properties hold across a wide range of inputs.

The tool addresses the limitation of example-based testing by letting developers specify properties—statements about what should always be true—rather than writing individual test cases. fast-check generates arbitrary input data according to configurable constraints, runs the property against those inputs, and when a property fails, it shrinks the failing case to find the minimal example that reproduces the bug. This approach catches edge cases that manual test writing often misses.

Teams should adopt fast-check when they want to move beyond spot-checking specific inputs and gain confidence that their code behaves correctly across entire input domains. It suits projects where correctness is critical and where properties can be clearly articulated—algorithms, data structure operations, and transformations are natural fits. The framework integrates with major JavaScript test runners including mocha, jest, jasmine, ava, and tape, so it fits into existing testing workflows without requiring a complete overhaul.

The project maintains active development with regular updates and demonstrates strong engineering practices through comprehensive test coverage and security certifications. Issues and pull requests receive consistent attention, and the maintainers engage constructively with the community on feature requests and bug reports. Documentation is thorough and includes interactive examples, making it accessible to developers new to property-based testing.