xUnit.net 反序列化期间发生灾难性错误

问题描述 投票:0回答:1

我正在测试 Orleans 8 应用程序,并且在 Visual Studio 2022 Enterprise 的“分析所有测试的代码覆盖率”方面遇到问题。

尽管测试按预期进行

覆盖范围未计算

在测试输出中我可以找到以下内容:

========== Starting test run ==========
[xUnit.net 00:00:00.00] xUnit.net VSTest Adapter v2.5.7+8f2703126a (64-bit .NET 8.0.3)
[xUnit.net 00:00:00.76] Invernomuto.Tests: Catastrophic error during deserialization: System.ArgumentNullException: Value cannot be null. (Parameter 'method')
   at Guard.ArgumentNotNull(String argName, Object argValue) in /_/src/common/Guard.cs:line 18
   at Xunit.Sdk.TestMethod..ctor(ITestClass class, IMethodInfo method) in /_/src/xunit.execution/Sdk/Frameworks/TestMethod.cs:line 27
   at Xunit.Sdk.XunitTestFrameworkExecutor.Deserialize(String value) in /_/src/xunit.execution/Sdk/Frameworks/XunitTestFrameworkExecutor.cs:line 80
   at Xunit.DefaultTestCaseBulkDeserializer.<BulkDeserialize>b__2_0(String serialization) in /_/src/xunit.runner.utility/Descriptor/DefaultTestCaseBulkDeserializer.cs:line 22
   at System.Linq.Utilities.<>c__DisplayClass2_0`3.<CombineSelectors>b__0(TSource x)
   at System.Linq.Enumerable.SelectListIterator`2.Fill(ReadOnlySpan`1 source, Span`1 destination, Func`2 func)
   at System.Linq.Enumerable.SelectListIterator`2.ToList()
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at Xunit.DefaultTestCaseBulkDeserializer.BulkDeserialize(List`1 serializations) in /_/src/xunit.runner.utility/Descriptor/DefaultTestCaseBulkDeserializer.cs:line 22
   at Xunit.Xunit2.BulkDeserialize(List`1 serializations) in /_/src/xunit.runner.utility/Frameworks/v2/Xunit2.cs:line 74
   at Xunit.XunitFrontController.BulkDeserialize(List`1 serializations) in /_/src/xunit.runner.utility/Frameworks/XunitFrontController.cs:line 112
   at Xunit.Runner.VisualStudio.VsTestRunner.RunTestsInAssembly(IRunContext runContext, IFrameworkHandle frameworkHandle, LoggerHelper logger, TestPlatformContext testPlatformContext, RunSettings runSettings, IMessageSinkWithTypes reporterMessageHandler, AssemblyRunInfo runInfo) in /_/src/xunit.runner.visualstudio/VsTestRunner.cs:line 500
[xUnit.net 00:00:00.78]   Starting:    Invernomuto.Tests
[xUnit.net 00:00:00.84]   Finished:    Invernomuto.Tests
========== Test run finished: 0 Tests (0 Passed, 0 Failed, 0 Skipped) run in 883 ms ==========

安装的版本是 Microsoft Visual Studio Enterprise 2022(64 位)- 当前 版本17.9.5

我在 github 上找到了一些对此问题的参考 herehere,但应该已修复,并且我在 %TEMP% 中找不到 VisualStudioTestExplorerExtensions 目录。

谁能帮我解决这个问题?谢谢

visual-studio .net-core visual-studio-2022 xunit xunit.net
1个回答
0
投票

github 上找到的注释以及在 Xunit.Sdk.PlatformSpecificAssemblyAttribute Class Reference

上找到的参考

将程序集标记为平台特定程序集,以便与 xUnit.net 一起使用。此类程序集的类型引用可以使用特殊后缀(“My.Assembly.{Platform}”),该后缀将自动转换为正确的平台特定名称(“My.Assembly.desktop”、“My.Assembly.desktop”)。 win8”等)。这会影响需要指定基于字符串的类型名称和程序集的扩展点以及序列化。

在 v2.1 及更高版本中,支持的平台目标名称包括:

“desktop”(用于桌面和 PCL 测试),“dotnet”(其他所有内容)。

我更改了测试项目的程序集名称并且

覆盖范围已恢复,谢谢

© www.soinside.com 2019 - 2024. All rights reserved.