[英]Xunit Unit Tests will not run
我完全被困在这个问题上。 所以我的团队在服务测试项目中有一个单元测试项目。 测试是在测试资源管理器窗格中发现的,但是当我尝试运行测试时,出现以下错误:
'找到具有相同 uri 'executor://xunit/VsTestRunner2' 的多个测试适配器。 忽略适配器“Xunit.Runner.VisualStudio.TestAdapter.VsTestRunner”。 请卸载冲突的适配器以避免此警告'
'[xUnit.net 00:00:00.0251250] 跳过:(找不到相关程序集 'Microsoft.Extensions.DependencyModel,Version=1.1.0')'
'C:\ 中没有可用的测试。 确保测试发现者和执行者已注册并且平台和框架版本设置合适,然后重试。
上下文信息:
我的测试项目 project.json:
{
"version": "1.0.0-*",
"testRunner": "xunit",
"dependencies": {
"dotnet-test-xunit": "2.2.0-preview2-build1029",
"Microsoft.AspNetCore.Mvc.ViewFeatures": "1.1.3",
"Microsoft.DiaSymReader": "1.0.8",
"Microsoft.DiaSymReader.Native": "1.4.1",
"Microsoft.Extensions.Logging.Abstractions": "1.1.2",
"Microsoft.Extensions.Testing.Abstractions": "1.0.0-preview2-003121",
"Newtonsoft.Json": "9.0.1",
"WebServices": "1.0.0-*",
"xunit": "2.2.0",
"xunit.abstractions": "2.0.1",
"xunit.assert": "2.2.0",
"xunit.core": "2.2.0",
"xunit.extensibility.core": "2.2.0",
"xunit.extensibility.execution": "2.2.0",
"xunit.runner.utility": "2.2.0"
},
"frameworks": {
"net461": {
"dependencies": {
"Microsoft.NETCore.Platforms": "1.1.0"
}
}
}
奇怪的是它对我的团队成员有效。 但不是我。 我们环境中的差异是:来自 Windows 和 Visual Studio 的最新更新,而它们落后一两个更新。
有谁知道解决方法?
安装或更新“xunit.runner.visualstudio”包对我有用。 在此之前,它不适用于框架 462。
我遇到了同样的问题,我通过将 Visual Studio 2017 从 15.5.2 更新到 15.5.4 并更新我的测试项目引用来解决它:
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0-preview-20170628-02" />
<PackageReference Include="xunit" Version="2.2.0" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" />
</ItemGroup>
到:
<ItemGroup>
<PackageReference Include="xunit" Version="2.3.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
</ItemGroup>
并重新启动 Visual Studio(显然 VS 会缓存并使用以前的版本,即使您已更新)。
不确定这三件事之一或它们的组合是否修复了它。
我遇到了同样的问题,但我已经安装了 Visual Studio 2017 15.5.4。 为了使它工作,我更新了所有与xunit
相关的引用,现在我的 .csproj 相关引用如下所示:
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
<PackageReference Include="xunit" Version="2.3.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" />
</ItemGroup>
不确定什么不起作用,但我的建议是确保这些参考在 csproj 中并具有这些最低版本。
我遇到了和你类似的问题,说could not find dependent assembly
; 实际上,该程序集在那里并且可供 xUnit VS 运行程序使用。 但是,实际问题是,我将 Visual Studio 设置为默认使用32bit
测试运行器。 它找不到的“依赖程序集”只是与所使用的 xUnit 测试运行程序不同的处理器架构。
要修复,如提到这里,从Visual Studio菜单,进入Test -> Test Settings -> Default Processor Architecture
并将其设置为X64
,如果你使用的是64bit
组件,或X86
如果您正在使用32bit
组件。 xUnit VS runner 给出的错误对尝试调试此问题非常具有误导性。
我在新机器上安装 Visual Studio 时看到的这个问题。 测试将在我的 Visual Studio 桌面机器上运行,但不会在我的笔记本电脑上运行。
关闭并重新打开 Visual Studio 对我有用。
如果你有一个在同一个 Visual Studio(或任何其他 Visual Studio 实例)上运行的项目,请停止它。 虽然我知道这很尴尬,但它解决了问题。
我有同样的问题,我安装在 nuget 包下面
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.10.0" />
<PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3">
最近在VS 2019上遇到了这个问题。 安装 VS.QualityTools.UnitTestFramework nuget 解决了这个问题
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.