[0.1.0] - 2026-02-13
Windtrap is an all-in-one OCaml testing framework that unifies unit tests, property-based tests, snapshot tests, and expect tests under a single API. Instead of juggling multiple testing libraries, Windtrap gives you one cohesive package with a PPX for inline expect tests (ppx_windtrap).
- Unit tests with combinators, tags, skip, brackets, and timeouts.
- Property-based testing with configurable seeds and shrinking.
- Snapshot testing with automatic file management and diffing.
- Inline expect tests via
ppx_windtrap with automatic correction. - CLI test runner with filtering, verbosity, and color support.
- Test coverage reporting with
bisect_ppx integration.
Acknowledgments
Windtrap builds on ideas and code from several OCaml projects:
- Alcotest by Thomas Gazagnaire — test structure and runner design
- Craig Ferguson's Alcotest PRs (#294, #247) — API design, subcomponent diffing, and Levenshtein distance (ISC)
- QCheck2 by Simon Cruanes et al. — generator design and integrated shrinking (BSD 2-Clause)
- ppx_expect and ppx_inline_test by Jane Street — expect test paradigm and dune integration
- Bisect_ppx by Anton Bachin et al. — coverage instrumentation and runtime (MIT)