Neotest adapter for Rust, using cargo-nextest.
Requires nvim-treesitter and the parser for Rust.
require("neotest").setup({
adapters = {
require("neotest-rust")
}
})
If you wish to give additional arguments to the cargo nextest
,
you can specify the args when initializing the adapter.
require("neotest").setup({
adapters = {
require("neotest-rust") {
args = { "--no-capture" },
}
}
})
Supports standard library tests, rstest
,
Tokio's [#tokio::test]
, and more. Does not support rstest
's parametrized
tests.
- Assumes unit tests in
main.rs
,mod.rs
, andlib.rs
are in atests
module. - Does not support
rstest
's#[case]
macro. - When running tests for a
main.rs
in an integration test subdirectory (e.g.tests/testsuite/main.rs
), all tests in that subdirectory will be run (e.g. all tests intests/testsuite/
). This is because Cargo lacks the capability to specify a test file.