项目中的每个测试都说“从实时单元测试中排除”?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了项目中的每个测试都说“从实时单元测试中排除”?相关的知识,希望对你有一定的参考价值。

我根据文档https://docs.microsoft.com/en-us/visualstudio/test/live-unit-testing-faq?view=vs-2017添加了测试适配器和框架包。

我在每个测试旁边看到“烧杯”符号\图标,但是悬停说它被排除在实时单元测试之外。

测试都运行良好手动,我尝试右键单击并告诉它包含但不执行任何操作。我这里没有代码手动排除任何东西......

.net 4.7.1项目

编辑

有一个错误

[10:03:48.205错误] [TestRunner 1]调用执行程序'executor:// mstestadapter / v2'时发生异常:无法加载文件或程序集'System.Xml.ReaderWriter,Version = 4.1.1.0,Culture = neutral ,PublicKeyToken = b03f5f7f11d50a3a'或其依赖项之一。该系统找不到指定的文件。无法加载文件或程序集'System.Xml.ReaderWriter,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其依赖项之一。该系统找不到指定的文件。

这是一个4.7.1项目测试另一个基于EFCore的4.7.1项目。

答案

我得到了类似的相同错误,在“实时单元测试”类别的输出窗口中,我发现以下错误:

FatalError - System.AggregateException: One or more errors occurred. ---> System.Exception: Could not load file or assembly 'System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.

我下载了最新版本的nuget软件包并没有帮助,我基本上不得不强制配置文件中的4.0.0.0版本,因为dll的实际版本是4.1,所以没有多大意义。 2.0。无论如何,在此之后我停止并启动了Live Unit Testing,现在它可以毫无问题地工作。希望这可以帮助。

<assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.0.0.0" />
另一答案

"Could not load file or assembly"可能有不同的原因:错误的程序集引用或错误的程序集重定向。

  • 在第一种情况下,您可以添加程序集重定向(FabianVal的答案)

[0] https://docs.microsoft.com/en-us/dotnet/framework/configure-apps/redirect-assembly-versions

  • 在第二种情况下,您可以更正或删除重定向。我在update-package -reinstall之后引入了错误的重定向,我不得不通过删除错误的重定向来重新编写csproj文件。

快速的grep可能有助于找到罪魁祸首:get-childitem -recurse *csproj | select-string -patte rn "System.Runtime, Version=4.0.0.0"

以上是关于项目中的每个测试都说“从实时单元测试中排除”?的主要内容,如果未能解决你的问题,请参考以下文章

都说测试行业饱和了,为什么我们公司给初级测试开到了12K?

都说测试行业饱和了,为什么我们公司给初级测试开到了12K?

如何测试“int”类型列表中的每个项目是不是?

如何从VS2012单元测试中的代码覆盖率分析中排除名称以“.Test”结尾的项目

将文件上传到 azure devops

都说it是吃青春饭的,那些35岁左右的it女技术人员(测试)都在做啥呢?转行了吗?