【问题标题】:XUnit Tests No Longer Working After Upgrade From .NET 5 To .NET 6 (Q & A)从 .NET 5 升级到 .NET 6 后 XUnit 测试不再工作(问答)
【发布时间】:2021-12-26 12:42:26
【问题描述】:

我有一个 xUnit 单元测试项目。在 .NET 5 中一切正常。

在 Visual Studio 2022 中,我将 csproj 中的 .NET 版本更改为 .NET 6,如下所示。

在此之后,测试构建但不再运行。

输出窗口中没有信息。测试资源管理器只是说它不会运行测试,并显示“检测到意外错误”。

我应该怎么做才能解决这个问题?

【问题讨论】:

  • xUnit 工作得很好。确保升级到 xUnit 和 Microsoft.NET.Test.Sdk 的最新包。每次升级 runner(在本例中为 Visual Studio)时,您都需要升级测试 SDK。如果您继续在 Visual Studio 2022 中使用 .NET 5,您会遇到同样的问题

标签: xunit .net-6.0


【解决方案1】:

我创建了一个新项目并将csproj 文件与我的旧项目进行了比较。有几个不同之处

首先,我需要为 Microsoft.NET.Test.Sdk 添加 nuget 包(在我的例子中,版本 16.11.0)。这似乎解决了它。

我还注意到我缺少的第一个 PropertyGroup 中的几个属性。我也添加了这些。但是,只需添加 Microsoft.NET.Test.Sdk 即可为我解决此问题。

【讨论】:

  • NullableIsPackable 与测试无关。 Nullable 在编译期间启用空值检查。
【解决方案2】:

在我的情况下,我从 NUnit 更改为 XUnit,还需要添加 xunit.runner.visualstudio nuget 包

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    • 2022-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多