What is choreo

choreo is a test runner and executable Domain-Specific Language (DSL) designed for behavior-driven testing of command-line applications. It brings the power and expressiveness of a BDD framework like Cucumber to the shell, allowing you to write automated, human-readable tests for any command-line tool or system interaction.

choreo is an executable Domain-Specific Language (DSL) for writing powerful, readable, and maintainable tests for command-line applications and APIs. It’s a modern BDD framework designed for engineers who need to verify the behaviour of their systems from the outside in.

Philosophy and Guiding Principles

choreo is designed to be a modern, developer-centric tool for Acceptance Test-Driven Development (ATDD). Its architecture is heavily influenced by the principles of Continuous Delivery.

An Executable Specification

The biggest pitfall of traditional BDD frameworks is the separation between the plain-text specification (the .feature file) and the “glue code” that implements it. This creates unnecessary layers of indirection that are complex and brittle.

choreo solves this by being an executable specification. A .chor file is a complete, self-contained program that combines the readable BDD steps with the implementation (Terminal run, Web http_get, etc.). This creates a direct and simple architectural flow from a single .chor file to the application being tested, entirely removing the need for a separate “glue code” layer.

Core Principles

choreo is built around a set of principles that lead to robust, maintainable, and valuable acceptance tests:

Ready to learn the syntax? Dive into the Choreo DSL Reference.