Testo was designed as a feature-rich testing framework that makes common tasks easy and unusual ones possible. It is similar to Alcotest but supports more options including notably:
- snapshotting: large output capture and diffing
- test-driven development: write tests first, make them pass later (
~expected_outcome
option) - review test results without re-running them (
status
subcommand) - fast parallel execution supporting Windows and older OCaml versions (>= 4.08)
- complete documentation: tutorial, howto guides, OCaml API reference
- timeouts (new!)
Weβve been using Testo at Semgrep where we need the snapshotting feature to track the output of the semgrep
command in end-to-end tests.
Changes since the last release include bugfixes, a few new command-line options, and support for timeouts. Install it now with
$ opam install testo
Testo development is an open-source community effort that happens on GitHub. It has been funded by Semgrep, my employer and fine purveyor of application security software. Weβre planning for a 1.0 release once the known Windows-specific bugs are gone. No major breaking changes are in sight.
For reference, the previous announcement from last year is here.
Enjoy your free software!