Skip to content

Neotest adapter for Rust, using cargo-nextest.

License

Notifications You must be signed in to change notification settings

bram209/neotest-rust

This branch is 70 commits behind rouge8/neotest-rust:main.

Folders and files

NameName
Last commit message
Last commit date
Apr 15, 2023
Jun 23, 2023
Jun 23, 2023
Jun 23, 2023
Jul 26, 2022
Jun 19, 2023
Jul 23, 2022
Jul 26, 2022
Apr 27, 2023
Jul 24, 2022

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.

Debugging Tests

Codelldb is the default adapter used for debugging. Alternatives can be specified via the dap_adapter property during initialization.

require("neotest").setup({
  adapters = {
    require("neotest-rust") {
        args = { "--no-capture" },
        dap_adapter = "lldb",
    }
  }
})

See nvim-dap, and rust-tools#debugging if you are using rust-tools.nvim, for more information.

Limitations

The following limitations apply to both running and debugging tests.

  • 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.

Additionally, when debugging tests, no output from failed tests will be captured in the results provided to Neotest.

About

Neotest adapter for Rust, using cargo-nextest.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Lua 95.2%
  • Rust 2.7%
  • Other 2.1%