Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 代码覆盖率结果定期给出:生成空结果_Visual Studio_Unit Testing_Code Coverage_Mstest_Vs Unit Testing Framework - Fatal编程技术网

Visual studio 代码覆盖率结果定期给出:生成空结果

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> <

在VS2012中使用MSTest的几个不同项目中,我遇到了一个反复出现的问题,我的代码覆盖率有时会停止工作(似乎是随机的),反而会给我:

生成空结果:未检测任何二进制文件。确保 运行测试,加载所需的二进制文件,具有匹配的符号文件, 未通过自定义设置排除。更多信息 看

我已经检查了明显的(它的建议),但似乎无法找出原因

这是我的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文件夹。