我完全坚持这个问题。所以我的团队在服务测试项目中有一个单元测试项目。测试在测试资源管理器窗格中发现,但是当我尝试运行测试时,我会收到以下错误:
'具有相同uri的多个测试适配器 '执行://的xUnit / VsTestRunner2'被找到。忽略适配器 ' Xunit.Runner.VisualStudio.TestAdapter.VsTestRunner&#39 ;.请卸载 冲突的适配器,以避免此警告'
' [xUnit.net 00:00:00.0251250]跳绳:(找不到 依赖汇编&Microsoft; Microsoft.Extensions.DependencyModel, 版本= 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的最新更新,而它们只是一个或两个更新。
有没有人知道解决方法?
答案 0 :(得分:15)
我有同样的问题,我通过将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缓存并在更新后使用以前的版本)。
不确定这三件事中的一件或它们的组合是否已经修好了。
答案 1 :(得分:9)
安装或更新&#34; xunit.runner.visualstudio&#34;包给我做了伎俩。在那之前,它没有使用框架462。
答案 2 :(得分:2)
我遇到了同样的问题,但我已经安装了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中并具有这些最低版本。
答案 3 :(得分:1)
我遇到了与您类似的问题,说could not find dependent assembly
;实际上,该程序集已经存在,并且可供xUnit VS运行程序使用。但是,实际问题是,我将Visual Studio设置为默认使用32bit
测试运行程序。找不到的“依赖程序集”与使用的xUnit测试运行程序只是一个不同的处理器体系结构。
要修复问题,如here所述,请从Visual Studio菜单中转到Test -> Test Settings -> Default Processor Architecture
,如果使用的是X64
程序集或{{ 1}}(如果使用64bit
程序集)。 xUnit VS Runner给出的错误非常容易误导您尝试调试此问题。
我在新计算机上安装Visual Studio时看到的此问题。这些测试将在Visual Studio的桌面机上运行,而不是在笔记本电脑上。
答案 4 :(得分:0)
关闭并重新打开Visual Studio对我有用。
答案 5 :(得分:0)
如果您有一个项目在同一个 Visual Studio(或任何其他 Visual Studio 实例)上运行,请停止它。虽然我知道这很尴尬,但它解决了问题。
答案 6 :(得分:-1)
我有同样的问题,我安装在 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">
答案 7 :(得分:-1)
最近在 VS 2019 上遇到了这个问题。 安装 VS.QualityTools.UnitTestFramework nuget 解决了这个问题