Warning
v2 is currently under active development. This version contains breaking changes and may not be stable.
Looking for the stable version? v1 is available here, but will not receive future updates as development focuses on v2.
Use v2 at your own risk - APIs and features may change without notice.
Tomato is a language-agnostic behavioral testing framework that manages your test infrastructure automatically.
- Built-in Container Orchestration - Automatically manage test containers with Testcontainers
- Clean State Testing - Reset resources between scenarios for reliable, isolated tests
- BDD/Gherkin Support - Write tests in plain English using Cucumber syntax
- Multiple Resource Types - HTTP, PostgreSQL, Redis, Kafka, WebSocket, Shell
- Auto-generated Documentation - Keep step docs in sync with code
- Application Runner - Start your app connected to test containers
curl -fsSL https://raw.githubusercontent.com/tomatool/tomato/main/install.sh | shbrew install tomatool/tap/tomato- uses: tomatool/tomato@v2See GitHub Action documentation for all options.
go install github.com/tomatool/tomato@latestgit clone https://github.com/tomatool/tomato.git
cd tomato
go build -o tomato .
sudo mv tomato /usr/local/bin/tomato init # Initialize a new project
tomato run # Run behavioral tests
tomato steps # List available stepsFor complete documentation, visit tomatool.github.io/tomato
Tomato is open source under the MIT License.