CLI
testmesh run
Execute a flow file and see results.
The run command parses a flow YAML file and executes all steps in order, printing results as it goes.
Usage
testmesh run <flow.yaml>Examples
# Run the bundled example flow
testmesh run ../examples/microservices/e2e-order-flow.yaml
# Run a local flow file
testmesh run ./my-test.yaml
# Run against a staging environment
BASE_URL=https://staging.example.com testmesh run ./flow.yaml
# Run with an explicit database URL
DATABASE_URL=postgres://user:pass@host:5432/db testmesh run ./db-flow.yamlOutput Format
Each step is printed as it executes:
[PASS] check_health http_request 42ms
[PASS] create_user http_request 128ms
[PASS] verify_db database_query 15ms
[FAIL] check_notification http_request 201ms
Assertion failed: body.notifications[0].type == "order_placed"
Got: body.notifications = []Each line shows:
- Status —
PASSorFAIL - Step ID — the
idfield from your flow - Action type — the action that was executed
- Duration — how long the step took
If an assertion fails, the failing expression and the actual value are printed below the step line.
Behavior
- Steps execute sequentially in the order they appear in the YAML.
- Execution stops at the first failed assertion (unless the step is in
teardown, which always runs). - Variables extracted via
outputblocks are immediately available to subsequent steps. - Exit code
0means all steps passed; exit code1means at least one step failed.
Use testmesh validate to catch YAML and configuration errors before running. Use testmesh debug to step through a flow interactively and inspect intermediate state.