Octopus is a testing framework that allows you to run tests defined as Docker images on a running cluster.
It was created to replace the helm test
by providing these additional features:
- Selective testing, which is especially useful for local development when you want to execute only tests that local changes can affect.
- Automatic retries on failed tests, which is a remedy for flaky tests.
- Running tests multiple times, which is helpful when you add a new test and you want to validate if it is stable, or when you want to reproduce a problem that occurs on CI.
- Full support for concurrent testing, which allows you to specify how many tests should be executed at the same time.
Use the following tools to set up the project:
- Version 1.11 or higher of Go
- Version 0.5.1 or higher of Dep
- Version 2.0.0 of Kustomize
- Version 1.0.7 of Kubebuilder
- The latest version of Docker
- The latest version of Mockery
This project uses dep
as the dependency manager. To install all required dependencies, use the following command:
make resolve
To test your changes before each commit, use the following command:
make validate