Skip to content

Cannot debug Nunit Parametrized TestFixture #5695

Open

Description

Problem description

I downloaded example Parametrized TestFixture file from: Nunit Parametrized TestFixture and when i want to debug in VSCode it fails with exception System.ArgumentException: Selected argument cannot be null or empty. (Parameter 'tests'). When I run "dotnet test" from terminal test start without any issue.

Environment data

dotnet --info output:
Host:
Version: 6.0.16
Architecture: x64
Commit: 1e620a42e7

.NET SDKs installed:
3.1.426 [C:\Program Files\dotnet\sdk]
6.0.408 [C:\Program Files\dotnet\sdk]

.NET runtimes installed:
Microsoft.AspNetCore.All 2.1.30 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.30 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.1.32 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 6.0.16 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.1.30 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 3.1.32 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 6.0.16 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 3.1.32 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 6.0.16 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
VS Code version:
Version: 1.78.2 (user setup)
Commit: b3e4e68a0bc097f0ae7907b217c1119af9e03435
Date: 2023-05-10T14:39:26.248Z
Electron: 22.5.2
Chromium: 108.0.5359.215
Node.js: 16.17.1
V8: 10.8.168.25-electron.0
OS: Windows_NT x64 10.0.22621
Sandboxed: Yes
C# Extension version:

OmniSharp log

Starting OmniSharp on Windows 10.0.22621.0 (x64)
info: OmniSharp.Services.DotNetCliService
Checking the 'DOTNET_ROOT' environment variable to find a .NET SDK
info: OmniSharp.Services.DotNetCliService
Using the 'dotnet' on the PATH.
info: OmniSharp.Services.DotNetCliService
DotNetPath set to dotnet
info: OmniSharp.MSBuild.Discovery.MSBuildLocator
Located 1 MSBuild instance(s)
1: .NET Core SDK 6.0.408 17.3.2 - "C:\Program Files\dotnet\sdk\6.0.408"
info: OmniSharp.MSBuild.Discovery.MSBuildLocator
Registered MSBuild instance: .NET Core SDK 6.0.408 17.3.2 - "C:\Program Files\dotnet\sdk\6.0.408"
info: OmniSharp.WorkspaceInitializer
Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.CSharpFormattingWorkspaceOptionsProvider, Order: 0
info: OmniSharp.Cake.CakeProjectSystem
Detecting Cake files in 'c:\Users\kolarik\Downloads\nunitTest\parametrizedNunit'.
info: OmniSharp.Cake.CakeProjectSystem
Did not find any Cake files
info: OmniSharp.MSBuild.ProjectSystem
No solution files found in 'c:\Users\kolarik\Downloads\nunitTest\parametrizedNunit'
info: OmniSharp.MSBuild.ProjectManager
Queue project update for 'c:\Users\kolarik\Downloads\nunitTest\parametrizedNunit\parametrizedNunit.csproj'
info: OmniSharp.Script.ScriptProjectSystem
Detecting CSX files in 'c:\Users\kolarik\Downloads\nunitTest\parametrizedNunit'.
info: OmniSharp.Script.ScriptProjectSystem
Did not find any CSX files
info: OmniSharp.WorkspaceInitializer
Configuration finished.
info: OmniSharp.Stdio.Host
Omnisharp server running using Stdio at location 'c:\Users\kolarik\Downloads\nunitTest\parametrizedNunit' on host 9700.
info: OmniSharp.MSBuild.ProjectManager
Loading project: c:\Users\kolarik\Downloads\nunitTest\parametrizedNunit\parametrizedNunit.csproj
info: OmniSharp.MSBuild.ProjectManager
Successfully loaded project file 'c:\Users\kolarik\Downloads\nunitTest\parametrizedNunit\parametrizedNunit.csproj'.
info: OmniSharp.MSBuild.ProjectManager
Adding project 'c:\Users\kolarik\Downloads\nunitTest\parametrizedNunit\parametrizedNunit.csproj'
info: OmniSharp.MSBuild.ProjectManager
Update project: parametrizedNunit
Received response for /v2/getcodeactions but could not find request.
Received response for /v2/gotodefinition but could not find request.
info: OmniSharp.DotNetTest.VSTestManager
read: {"MessageType":"TestSession.Connected","Payload":null}
info: OmniSharp.DotNetTest.VSTestManager
read: {"MessageType":"ProtocolVersion","Payload":1}
info: OmniSharp.DotNetTest.DebugSessionManager
Debug session started.
[warn]: OmniSharp.Stdio.Host
************ Request ************
{
"Type": "request",
"Seq": 81,
"Command": "/v2/debugtest/getstartinfo",
"Arguments": {
"FileName": "c:\Users\kolarik\Downloads\nunitTest\parametrizedNunit\UnitTest1.cs",
"MethodName": "parametrizedNunit.ParameterizedTestFixture.TestInequality",
"TestFrameworkName": "nunit",
"TargetFrameworkVersion": ".NETCoreApp,Version=v6.0",
"NoBuild": false
}
}
[fail]: OmniSharp.Stdio.Host
************ Response (4187.5981ms) ************
{
"Request_seq": 81,
"Command": "/v2/debugtest/getstartinfo",
"Running": true,
"Success": false,
"Message": ""System.NullReferenceException: Object reference not set to an instance of an object.\r\n at OmniSharp.DotNetTest.VSTestManager.DebugGetStartInfoAsync(String[] methodNames, String runSettings, String testFrameworkName, String targetFrameworkVersion, CancellationToken cancellationToken) in D:\\a\\1\\s\\src\\OmniSharp.DotNetTest\\VSTestManager.cs:line 170\r\n at OmniSharp.Endpoint.EndpointHandler2.GetFirstNotEmptyResponseFromHandlers(ExportHandler2[] handlers, TRequest request) in D:\\a\\1\\s\\src\\OmniSharp.Host\\Endpoint\\EndpointHandler.cs:line 217\r\n at OmniSharp.Endpoint.EndpointHandler2.HandleRequestForLanguage(String language, TRequest request, RequestPacket packet) in D:\\\\a\\\\1\\\\s\\\\src\\\\OmniSharp.Host\\\\Endpoint\\\\EndpointHandler.cs:line 233\\r\\n at OmniSharp.Endpoint.EndpointHandler2.Process(RequestPacket packet, LanguageModel model, JToken requestObject) in D:\\a\\1\\s\\src\\OmniSharp.Host\\Endpoint\\EndpointHandler.cs:line 142\r\n at OmniSharp.Stdio.Host.HandleRequest(String json, ILogger logger) in D:\\a\\1\\s\\src\\OmniSharp.Stdio\\Host.cs:line 258"",
"Body": null,
"Seq": 284,
"Type": "response"

.NET Test log

NUnit Adapter 4.2.0.0: Test discovery starting
NUnit Adapter 4.2.0.0: Test discovery complete
System.ArgumentException: Selected argument cannot be null or empty.. (Parameter 'tests')
at Microsoft.VisualStudio.TestPlatform.ObjectModel.ValidateArg.NotNullOrEmpty[T](IEnumerable1 arg, String parameterName) at Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.TestRunCriteria..ctor(IEnumerable1 tests, Int64 frequencyOfRunStatsChangeEvent, Boolean keepAlive, String testSettings, TimeSpan runStatsChangeEventTimeout, ITestHostLauncher testHostLauncher, TestSessionInfo testSessionInfo, Boolean debugEnabledForTestSession)
at Microsoft.VisualStudio.TestPlatform.CommandLine.TestPlatformHelpers.TestRequestManager.RunTests(TestRunRequestPayload testRunRequestPayload, ITestHostLauncher3 testHostLauncher, ITestRunEventsRegistrar testRunEventsRegistrar, ProtocolConfig protocolConfig)
at Microsoft.VisualStudio.TestPlatform.Client.DesignMode.DesignModeClient.<>c__DisplayClass23_0.b__0()

Steps to reproduce

  1. Download this exmaple project parametrizedNunit.zip
  2. Open in VSCode
  3. Run dotnet restore / dotnet build
  4. Try to debug some test

Expected behavior

Debug mode is stared

Actual behavior

System.ArgumentException: Selected argument cannot be null or empty.. (Parameter 'tests') is shown.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions