无法在我的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) ==========
我尝试删除%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')
答案 0 :(得分:8)
我在使用xUnit时遇到问题。一些重要的事情:
1)确保已启用“ Microsoft Visual Studio测试平台”扩展
2)确保“测试=>测试设置=>默认处理器体系结构”与您的版本匹配。
3)安装nuget软件包'xunit.runner.visualstudio'
答案 1 :(得分:5)
如果您使用的是.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中运行xUnit.net测试 内置测试运行器(名为Test Explorer)。不幸的是,这样做 不包括Visual Studio的Express版本(你应该升级到 取而代之的是免费的社区版。
在解决方案资源管理器中右键单击项目,然后选择“管理” 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)
确保可以看到测试资源管理器(转到测试> Windows>测试 资源管理器)。每次构建项目时,跑步者都会发现 在您的项目中进行单元测试经过一段时间的发现,你应该 查看已发现的测试列表:
单击“测试资源管理器”窗口中的“全部运行”链接,您应该看到 测试运行时,测试资源管理器窗口中的结果会更新:
您可以单击失败的测试以查看失败消息,然后单击 堆栈跟踪。您可以单击堆栈跟踪线来接收您 直接到失败的代码行。
还提到
针对多个目标运行测试
(如果某些项目以Core为目标,其他项目以.NET 4.5为目标。)
另一种可能性:
确保使用xunit 2.3.0 +
答案 2 :(得分:4)
几周前,当我将xUnit升级到2.4.0-beta.1
时,我遇到了这个问题。 Visual Studio的测试资源管理器选择两个 xUnit测试适配器,但上述消息失败。
不幸的是,这不是upgrading to the latest VS update的简单问题,因为我已经在运行最新版本。我也在使用最新版本的Microsoft.NET.Test.Sdk
包。降级到最新的稳定版本2.3.1
也不起作用,VS 仍在选择两个适配器。
最后,我必须在xUnit
的解决方案的包文件夹和 NuGet的缓存中手动删除特定于版本的%userprofile%\.nuget\packages
文件夹。
Managing the global packages, cache, and temp folders
中的Clearing local folders也应该有所帮助。如果您有快速的互联网连接,您可能想尝试“nuke it”命令:
nuget locals all -clear