繁体   English   中英

Xunit 单元测试不会运行

[英]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:\ 中没有可用的测试。 确保测试发现者和执行者已注册并且平台和框架版本设置合适,然后重试。

上下文信息:

  • Xunit 2.2.0
  • 视觉工作室 15.5.2
  • Windows 10 1709 内部版本: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"
        }
    }
}

奇怪的是它对我的团队成员有效。 但不是我。 我们环境中的差异是:来自 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">

如果您在 Visual Studio 中的问题是测试运行程序 output 似乎是空的,请检查相关按钮(下方的白框)是否全部选中。

检查白框

最近在VS 2019上遇到了这个问题。 安装 VS.QualityTools.UnitTestFramework nuget 解决了这个问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM