Visual studio 代码覆盖率结果定期给出:生成空结果
在VS2012中使用MSTest的几个不同项目中,我遇到了一个反复出现的问题,我的代码覆盖率有时会停止工作(似乎是随机的),反而会给我: 生成空结果:未检测任何二进制文件。确保 运行测试,加载所需的二进制文件,具有匹配的符号文件, 未通过自定义设置排除。更多信息 看 我已经检查了明显的(它的建议),但似乎无法找出原因 这是我的runsettings文件:Visual studio 代码覆盖率结果定期给出:生成空结果,visual-studio,unit-testing,code-coverage,mstest,vs-unit-testing-framework,Visual Studio,Unit Testing,Code Coverage,Mstest,Vs Unit Testing Framework,在VS2012中使用MSTest的几个不同项目中,我遇到了一个反复出现的问题,我的代码覆盖率有时会停止工作(似乎是随机的),反而会给我: 生成空结果:未检测任何二进制文件。确保 运行测试,加载所需的二进制文件,具有匹配的符号文件, 未通过自定义设置排除。更多信息 看 我已经检查了明显的(它的建议),但似乎无法找出原因 这是我的runsettings文件: <?xml version="1.0" encoding="utf-8"?> <RunSettings> <
<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
<DataCollectionRunSettings>
<DataCollectors>
<DataCollector friendlyName="Code Coverage"
uri="datacollector://Microsoft/CodeCoverage/2.0"
assemblyQualifiedName=" Microsoft.VisualStudio.Coverage.DynamicCoverageDataCollector,
Microsoft.VisualStudio.TraceCollector,
Version=11.0.0.0,
Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a">
<Configuration>
<CodeCoverage>
<ModulePaths>
<Include>
<ModulePath>.*\.dll$</ModulePath>
</Include>
<Exclude>
<ModulePath>.*\.tests.dll</ModulePath>
</Exclude>
</ModulePaths>
<Attributes>
<Exclude>
<Attribute>.*ExcludeFromCodeCoverageAttribute$</Attribute>
<Attribute>.*GeneratedCodeAttribute$</Attribute>
</Exclude>
</Attributes>
<UseVerifiableInstrumentation>True</UseVerifiableInstrumentation>
<AllowLowIntegrityProcesses>True</AllowLowIntegrityProcesses>
<CollectFromChildProcesses>True</CollectFromChildProcesses>
<CollectAspDotNet>False</CollectAspDotNet>
</CodeCoverage>
</Configuration>
</DataCollector>
</DataCollectors>
</DataCollectionRunSettings>
</RunSettings>
.\.dll$
.\.tests.dll
*ExcludeFromCodeCoverageAttribute$
*GeneratedCodeAttribute$
真的
真的
真的
假的
此链接解决了我的问题:
关闭Visual Studio 2012,找到.suo文件,删除(或重命名)它,然后重新启动。很好。不知道.suo文件中有什么阻止了正确的覆盖率分析。如果删除了*.suo文件后仍无法使代码覆盖率正常工作,请检查事件查看器中的错误。就我而言,每次运行后,我都会出现以下错误: TraceLog探查器初始化失败,因为缺少检测方法,进程vstest.executionengine.x86.exe 我找到了答案 如果链接不再可用,我将在此处粘贴内容: 如果您发现自己有一个空的.coverage文件,并看到错误 与下面的事件日志类似,您很可能有 损坏的安装 (info).NET运行时版本4.0.30319.17929-探查器具有 请求CLR实例不要将探查器加载到此 过程探查器CLSID:“{b19f184a-cc62-4137-9a6f-af0f91730165}”。 进程ID(十进制):12624。消息ID:[0x2516] (错误)TraceLog探查器初始化失败,原因是缺少 检测方法,进程vstest.executionengine.x86.exe 检查 a) 环境变量VS110COMNTOOLS设置为 \通用7\工具 b) 已设置注册表项HKLM\SOFTWARE\Microsoft\VisualStudio\11.0\InstallDir 到您的\Common7\IDE\ c) covrun32.dll和covrun64.dll存在于“\Team”中 工具\动态代码覆盖率“ 祝你好运
Nadav在运行PerfView之后,我遇到了类似的问题 重新运行perfview,将其复制到自己的文件夹中,并开始收集运行,然后停止,似乎解决了此问题 我在加载guid为{99999 5D-2cbb-4893-be09-fce80abc7564}(Vs2015探查器)和{6652970f-1756-5d8d-0805-E9AA152AA84}(perfview探查器)的探查器时遇到0x8007007e错误
希望这对其他人有所帮助。在Microsoft.NET.Test.Sdk 16.3.0+中出现了一个错误,导致了相同的错误输出,目前的解决方法是降级到16.2.0,这对我来说很有效。除了MS提供的故障排除提示外,还可能存在SDK问题 我刚刚使用Visual Studio 2019遇到了这个问题。解决方案是转到VS中的“测试”菜单项,然后将任何CPU项目的测试->处理器体系结构设置从X86更新到X64。我修改了与调试环境关联的属性组,使其看起来像这样:
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DocumentationFile>OurProjectName.xml</DocumentationFile>
<DebugType>full</DebugType>
<DebugSymbols>true</DebugSymbols>
</PropertyGroup>
OurProjectName.xml
满的
真的
对于运行xUnit 2.4.1的core.net 3.1应用程序来说,这是visual studio 2019预览版中唯一修复它的东西。配置测试->处理器体系结构>>任何CPU项目设置>>>X86到X64。这对我来说是有效的。我也面临同样的问题,并尝试了上述所有选项,但对我来说都不起作用 只有在创建完整的调试信息之后,我才能解决这个问题。完整调试信息的设置可能因版本而异。当我使用MSVS 2017时,在build菜单中有一个子菜单,允许使用完整的调试版本
我希望这也能对其他人有所帮助。在我的例子中,问题是我的测试dll路径包含字符串“DataCollector”,而且coverlet似乎对任何与.*DataCollector.*匹配的路径都有内部忽略。谢谢!更新环境变量修复了我的一个开发人员的问题,他最初安装在C:上,然后重新安装在D:。卸载/重新安装没有更新环境变量。这为我解决了VS2019 16.4.2中的问题。拥有覆盖率为0%的.Net Core 3.0测试项目。将平台目标从“任意CPU”更改为“x64”。瞧,现在它报道了83%的覆盖率。这太棒了,对我来说也很有效。VS2019版本16.4.5谢谢,谢谢,谢谢。VS2019版本16.4.4Upvote!还有,这里的屏幕截图:谢谢!你解决了我现在遇到的问题。这很有帮助,但因为我使用的是VS2019,所以我不得不删除.VS文件夹。