Can be used to start a 1-node cluster or multi-node cluster
Can be configured to use a custom external configuration, i.e. a configuration that a customer may change in production.
For example: TLS certificate directory, special cluster settings, etc.
Can be configured to a custom internal configuration, i.e. a testing knob that injects a custom dependency to an internal component or a special behavior not available in release builds.
Startup time until test cluster is ready for use by test
more than 30s (100x slower) on first run, due to the need to build and/or download a cockroach binary
after the first run, more than 3s (10x slower)
Suitable for unit tests
Suitable for integration tests for automatable product behavior and with standard SQL client drivers.
no - does not exercise external configuration code paths.
Suitable for integration tests for non-automatable product behavior and/or with non-standard SQL client drivers.
no - see separate page on acceptance testing
Can use a release
Can simulate mixed-version clusters and exercise mixed-version testing