Xunit单元测试不会运行

CMR*_*CMR 19 .net c# xunit windows-10 visual-studio-2017

我完全陷入了这个问题.所以我的团队在服务测试项目中有一个单元测试项目.测试在测试资源管理器窗格中发现,但是当我尝试运行测试时,我得到以下错误:

'找到了具有相同uri'executor:// xunit/VsTestRunner2'的多个测试适配器.忽略适配器'Xunit.Runner.VisualStudio.TestAdapter.VsTestRunner'.请卸载冲突的适配器以避免此警告'

'[xUnit.net 00:00:00.0251250]跳过:(找不到依赖性组装 'Microsoft.Extensions.DependencyModel,版本= 1.1.0')'

'C:\中没有可用的测试.确保已注册测试发现者和执行者,并且平台和框架版本设置是合适的,然后重试.

上下文信息:

  • Xunit 2.2.0
  • Visual Studio 15.5.2
  • Windows 10 1709 Build:16299.125

我的测试项目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"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

奇怪的是它适用于我的团队成员.但不是我.我们环境的不同之处在于:来自Windows和Visual Studio的最新更新,而它们只是一个或两个更新.

有没有人知道一个解决方法?

Xav*_*nas 18

我有同样的问题,我通过将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>
Run Code Online (Sandbox Code Playgroud)

至:

<ItemGroup>
    <PackageReference Include="xunit" Version="2.3.1" />
    <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)

并重新启动Visual Studio(显然VS缓存并使用以前的版本,甚至在您更新后).

不确定3件事中的一件或它们的组合是否修复了它.

  • 但是,此技巧在 Visual Studio 2017 中不适用于 .net 核心项目 (3认同)

Pra*_*vin 17

安装或更新"xunit.runner.visualstudio"软件包对我来说很有用.在那之前,它没有使用框架462.


Ale*_*xei 9

我遇到了同样的问题,但我已经安装了 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>
Run Code Online (Sandbox Code Playgroud)

不确定什么不起作用,但我的建议是确保这些参考在 csproj 中并具有这些最低版本。