我正在为一个私人项目设置一些单元测试,由于我不介意使用确切的运行器,所以我尝试了 NUnit、XUnit 和 MStest,但迄今为止都没有成功。
经过一些研究,我克隆了官方的 Microsoft 存储库:https://github.com/dotnet/docs/blob/master/samples/core/getting-started/unit-testing-using-nunit/PrimeService.Tests/PrimeService_IsPrimeShould.cs 但是这些测试也无法执行。在这样做时,输��结果中会出现以下错误:
System.ArgumentException: Illegal characters in path. at System.IO.Path.CheckInvalidPathChars(String path, Boolean checkAdditional) at System.IO.Path.Combine(String path1, String path2) at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Helpers.DotnetHostHelper.TryGetExecutablePath(String executableBaseName, String& executablePath) at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Helpers.DotnetHostHelper.GetDotnetPath() at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Hosting.DotnetTestHostManager.GetTestHostProcessStartInfo(IEnumerable
1 sources, IDictionary
2 environmentVariables, TestRunnerConnectionInfo connectionInfo) at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Client.ProxyOperationManager.SetupChannel(IEnumerable`1 sources, CancellationToken cancellationToken) at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Client.ProxyDiscoveryManager.DiscoverTests(DiscoveryCriteria discoveryCriteria, ITestDiscoveryEventsHandler2 eventHandler)
我还查阅了一些 Stack Overflow 的答案,例如Visual Studio 2017 中未发现单元测试或如何在 Visual Studio 2017 中运行 NUnit 测试?,但是它们都没有解决问题。
我的 Visual Studio 2017 版本目前为 15.6.0,我还在使用 ReSharper。看来这是一个本地环境问题,不幸的是,我没有找到任何关于这个问题的提示。是否有人有想法,如何解决这个问题?