Skip to content

Neotest adapter for Rust, using cargo-nextest.

License

Notifications You must be signed in to change notification settings

morgsmccauley/neotest-rust

 
 

Repository files navigation

neotest-rust

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.

Limitations

  • Does not support running the whole test suite, only individual tests or files.
  • Assumes unit tests in main.rs, mod.rs, and lib.rs are in a tests 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 in tests/testsuite/). This is because Cargo lacks the capability to specify a test file.

About

Neotest adapter for Rust, using cargo-nextest.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Lua 92.3%
  • Rust 3.7%
  • Shell 1.8%
  • Makefile 1.8%
  • Vim Script 0.4%