zidhuss / neotest-minitest

Neotest adapter for Minitest
MIT License
11 stars 17 forks source link

neotest-minitest

This plugin provides a minitest adapter for the Neotest framework.

:package: Installation

Install with the package manager of your choice:

Lazy

{
  "nvim-neotest/neotest",
  lazy = true,
  dependencies = {
    ...,
    "zidhuss/neotest-minitest",
  },
  config = function()
    require("neotest").setup({
      ...,
      adapters = {
        require("neotest-minitest")
      },
    })
  end
}
Packer ```lua use({ 'nvim-neotest/neotest', requires = { ..., 'zidhuss/neotest-minitest', }, config = function() require('neotest').setup({ ..., adapters = { require('neotest-minitest'), } }) end }) ```

:wrench: Configuration

Default configuration

Note: You only need to the call the setup function if you wish to change any of the defaults

Show default configuration ```lua adapters = { require("neotest-minitest")({ test_cmd = function() return vim.tbl_flatten({ "bundle", "exec", "ruby", "-Itest", }) end, }), } ```

The test command

The command used to run tests can be changed via the test_cmd option e.g.

require("neotest-minitest")({
  test_cmd = function()
    return vim.tbl_flatten({
      "bundle",
      "exec",
      "rails",
      "test",
    })
  end
})

:rocket: Usage

NOTE: All usages of require('neotest').run.run can be mapped to a command in your config (this is not included and should be done by yourself).

Test single function

To test a single test, hover over the test and run require('neotest').run.run()

Test file

To test a file run require('neotest').run.run(vim.fn.expand('%'))

:gift: Contributing

This project is maintained by the Neovim Ruby community. Please raise a PR if you are interested in adding new functionality or fixing any bugs. When submitting a bug, please include an example test.

To trigger the tests for the adapter, run:

make test

:clap: Thanks

Special thanks to Oli Morris and others for their work on neotest-rspec that inspired this adapter.