Unit Test
Introduction
Unit tests are embedded into the codebase, usually placed next to the logic being tested. They are written using Rust’s #[test]
attribute and can run with cargo nextest run
.
The default test runner ships with cargo
is not supported in GreptimeDB codebase. It’s recommended to use nextest instead. You can install it with
cargo install cargo-nextest --locked
And run the tests (here the --workspace
is not necessary)
cargo nextest run
Notes if your Rust is installed via rustup
, be sure to install nextest
with cargo
rather than the package manager like homebrew
. Otherwise it will mess up your local environment.
Coverage
Our continuous integration (CI) jobs have a “coverage checking” step. It will report how many codes are covered by unit tests. Please add the necessary unit test to your patch.