Skip to content

Latest commit

 

History

History
65 lines (44 loc) · 2.6 KB

README.md

File metadata and controls

65 lines (44 loc) · 2.6 KB

Neotest .NET

Neotest adapter for dotnet tests

NOTE - This is a WIP project and will be under development over the coming months with additional features

  • Please feel free to open an issue

Pre-requisites

neotest-dotnet requires makes a number of assumptions about your environment:

  1. Omnisharp-LSP is installed and active in the current buffer
  2. The dotnet sdk is installed and the dotnet executable is on the users runtime path (future updates may allow customisation of the dotnet exe location)
  3. The user is running tests using one of the supported test runners / frameworks (see support grid)

Installation

  use({
    "nvim-neotest/neotest",
    requires = {
      {
        "Issafalcon/neotest-dotnet",
      },
    }
  })
    Plug 'https://github.com/nvim-neotest/neotest'
    Plug 'https://github.com/Issafalcon/neotest-dotnet'

Support

Key

✔️ = Fully supported

〽️ = Partially Supported (functionality might behave unusually)

⁉️ = As yet untested

❌ = Unsupported (tested)

Runner / Framework Unit Tests Parameterized Unit Tests (e.g. Using TestCase attribute) Specflow
C# - NUnit ✔️ ✔️
C# - XUnit ✔️ ✔️ ✔️
C# - MSTest ✔️ ⁉️
F# - NUnit ⁉️ ⁉️ ⁉️
F# - XUnit ⁉️ ⁉️ ⁉️
F# - MSTest ⁉️ ⁉️ ⁉️

Limitations

  1. A tradeoff was made between being able to run parameterized tests and the specificity of the dotnet --filter command options. A more lenient 'contains' type filter is used in order for the adapter to be able to work with parameterized tests. Unfortunately, no amount of formatting would support specific FullyQualifiedName filters for the dotnet test command for parameterized tests.
  2. See the support guidance for feature and language support (regular users of F# needed!)