无法在Visual Studio 2017上运行Xunit测试

Ros*_*dyk 12 testing unit-testing xunit test-runner visual-studio

无法在Visual Studio 2017上运行所有XUnit测试. Version 15.6.4

可以在TestExploer中查看它们,当我从那里运行它时,我会得到这样的结果:

[27.03.2018 12:21:46 Informational] ------ Load Playlist started ------
[27.03.2018 12:21:46 Informational] ========== Load Playlist finished 
(0:00:00,0215566) ==========
[27.03.2018 12:22:27 Informational] Executing test method 'Lebara.Remittance.Test.ServiceImplementation.RiskEngineServiceTest.ShouldTest'
[27.03.2018 12:22:27 Informational] ------ Run test started ------
[27.03.2018 12:22:29 Warning] Multiple test adapters with the same uri 
'executor://xunit/VsTestRunner2' were found. Ignoring adapter 
'Xunit.Runner.VisualStudio.TestAdapter.VsTestRunner'. Please uninstall the 
conflicting adapter(s) to avoid this warning.
[27.03.2018 12:22:29 Warning] [xUnit.net 00:00:00.0209459] Skipping: 
Lebara.Remittance.Test (could not find dependent assembly 
'Microsoft.Extensions.DependencyModel, Version=1.1.0')
[27.03.2018 12:22:29 Warning] No test is available in C:\ReposNew\Lebara.Remittance\Lebara.Remittance\Lebara.Remittance.Test\bin\Debug\Lebara.Remittance.Test.dll. Make sure that test discoverer & executors are registered and platform & framework version settings are appropriate and try again.
[27.03.2018 12:22:29 Informational] ========== Run test finished: 0 run 
(0:00:02,1543479) ==========
[27.03.2018 12:34:19 Informational] Executing test method 'Lebara.Remittance.Test.ServiceImplementation.RiskEngineServiceTest.ShouldTest'
[27.03.2018 12:34:19 Informational] ------ Run test started ------
[27.03.2018 12:34:20 Warning] Multiple test adapters with the same uri 
'executor://xunit/VsTestRunner2' were found. Ignoring adapter 
'Xunit.Runner.VisualStudio.TestAdapter.VsTestRunner'. Please uninstall the 
conflicting adapter(s) to avoid this warning.
[27.03.2018 12:34:20 Warning] [xUnit.net 00:00:00.0200861] Skipping: 
Lebara.Remittance.Test (could not find dependent assembly 
'Microsoft.Extensions.DependencyModel, Version=1.1.0')
[27.03.2018 12:34:20 Warning] No test is available in C:\ReposNew\Lebara.Remittance\Lebara.Remittance\Lebara.Remittance.Test\bin\Debug\Lebara.Remittance.Test.dll. Make sure that test discoverer & executors are registered and platform & framework version settings are appropriate and try again.
[27.03.2018 12:34:20 Informational] ========== Run test finished: 0 run 
(0:00:00,7088116) ==========
Run Code Online (Sandbox Code Playgroud)

我试着删除%TEMP%\VisualStudioTestExplorerExtensions- 没有任何帮助.

事情是,几天前我可以运行它们.我没有改变一件事.只是不知道发生了什么.

我也有这个警告

 [27.03.2018 12:22:29 Warning] Multiple test adapters with the same uri 
 'executor://xunit/VsTestRunner2' were found. Ignoring adapter 
 'Xunit.Runner.VisualStudio.TestAdapter.VsTestRunner'. Please uninstall the 
 conflicting adapter(s) to avoid this warning.
 [27.03.2018 12:22:29 Warning] [xUnit.net 00:00:00.0209459] Skipping: 
 Lebara.Remittance.Test (could not find dependent assembly 
 'Microsoft.Extensions.DependencyModel, Version=1.1.0')
Run Code Online (Sandbox Code Playgroud)

Fra*_*ood 13

我在使用xUnit时遇到问题。一些重要的事情:

1)确保启用了“ Microsoft Visual Studio测试平台”扩展

2)确保“测试=>测试设置=>默认处理器体系结构”与您的构建匹配。

3)安装nuget包'xunit.runner.visualstudio'


Ste*_*ore 7

如果您使用的是.NET Core或ASP.NET Core,则从xunit(https://xunit.github.io/docs/getting-started-dotnet-core.html):

使用Visual Studio运行测试

如果发现或运行测试时遇到问题,则可能是Visual Studio内部运行程序缓存损坏的受害者。若要清除此缓存,请关闭Visual Studio的所有实例,然后删除文件夹%TEMP%\ VisualStudioTestExplorerExtensions。还要确保您的解决方案仅与Visual Studio运行程序NuGet包(xunit.runner.visualstudio)的单个版本链接。

如果您具有Visual Studio社区(或Visual Studio的付费版本),则可以在Visual Studio的内置测试运行程序(名为Test Explorer)中运行xUnit.net测试。不幸的是,这不包括Visual Studio的Express版本(您应该升级到免费的Community Edition)。

在解决方案资源管理器中右键单击该项目,然后选择“管理NuGet软件包”。您将需要安装两个软件包:

xunit.runner.visualstudio (version 2.3.1 or later)
Microsoft.NET.Test.Sdk (version 15.0.0 or later; we recommend using whatever the latest RTM build is)
Run Code Online (Sandbox Code Playgroud)

确保“测试资源管理器”可见(转到“测试”>“ Windows”>“测试资源管理器”)。每次构建项目时,运行程序都会在项目中发现单元测试。一会儿发现后,您应该看到已发现测试的列表:

单击“测试资源管理器”窗口中的“全部运行”链接,运行测试时,您应该在“测试资源管理器”窗口中看到结果更新:

您可以单击失败的测试以查看失败消息和堆栈跟踪。您可以单击堆栈跟踪行直接将您带到失败的代码行。

还提到

针对多个目标运行测试

(例如,如果某些项目针对Core,而另一些针对.NET 4.5。)

另一种可能性:

确保使用xunit 2.3.0+