Overview of Octez testing frameworks
Octez utilizes a variety of testing frameworks depending on the component and the type of test (Unit, Property, Integration, System, Regression, or Performance).
- Ppx_expect: Used for OCaml code generating textual output. Useful for unit and integration tests where output is checked against expected text.
- QCheck: A property-based testing library for verifying input-output invariants with randomized inputs.
- Tezt: The primary system testing framework for Octez. It handles interaction with external processes (client, baker, node) and is used for regression testing and CI.
- tezt-performance-regression: A wrapper around Tezt for long-running tests and performance benchmarking, often integrated with InfluxDB and Grafana.
- Alcotezt: A compatibility wrapper allowing legacy Alcotest unit tests to run via Tezt.
- TZT: A syntax extension for writing and executing unit tests for Michelson snippets.