Home

Awesome

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.

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