2013-05-12 41 views
6

我有一个简单的ASP.Net MVC 4应用程序,有3个简单的测试。VS 2012代码覆盖问题

每个测试运行成功完成,但代码覆盖率窗口给了我以下错误:

Empty results generated: No binaries were instrumented. Make sure the tests ran, required binaries were loaded, had matching symbol files, and were not excluded through custom settings. For more information see http://go.microsoft.com/fwlink/?LinkID=253731

我做了一些研究,但没有解决了我的问题至今。

  • 我知道测试运行
  • 我在相同的位置.pdb文件作为我的.dll
  • 我不代码optimsing
  • 我无法找到任何文件.testsettings
  • 我作为管理员也运行我的VS 2012旗舰版,但没有运气。

如果我找到.coverage文件,所有它在它是:

PCHÿ 

不是个XML结果或错误消息,我期待。

+0

我有这个问题,在我的情况下,它解决了当我以管理员身份运行Visual Studio – lmcarreiro 2016-03-30 14:36:55

回答

5

我意识到这已经过了一年多了。不过,我刚刚遇到完全相同的问题,甚至下载到.coverage文件中的“PCH”文本,直到现在都没有找到解决方案。但肯定有其他人也有这个问题,以防万一,以下是简单的解决方案:

经过检查此MSDN link并遵循其建议,我仍然有同样的问题。于是,最后我关机VS,去了根目录解决方案目录,并且删除了.suo文件的。它具有隐藏属性设置,因此您可能需要设置浏览器以显示隐藏文件。

重新启动VS并重新运行代码覆盖测试。一切都好。

+0

嗨Shunty.This问题仍然存在。我发现其他地方提到删除他.suo文件并重新启动VS 2012,但仍然没有运气。我也删除了整个TestResults文件夹,然后再次尝试,没有运气。 – brettc4 2013-09-05 00:28:37

+0

我没有问题,所以我不能给予更多的帮助。但是,也许,如果你的代码是在源代码控制之下,你可以尝试将它检出到一个新的位置,并从那里构建/测试它,看看会发生什么。我确信它必须与VS管理的一个临时/本地文件有关,并且不应该进入源代码控制,因此它可能工作。 – shunty 2013-09-05 08:09:53

4

如果即使删除* .suo文件后仍无法使代码覆盖范围工作,请检查您的事件查看器是否有错误。就我而言,每次运行后,我有以下错误:

“追踪日志分析器未能初始化由于缺乏仪器方法,过程vstest.executionengine.x86.exe”

我发现答案是here

在情况下,链接不再可用,我粘贴内容在这里:

If you find yourself with a an empty .coverage file and see errors similar to the below in your event logs you most probably have a corrupt install

(info) .NET Runtime version 4.0.30319.17929 - The profiler has requested that the CLR instance not load the profiler into this process. Profiler CLSID: '{b19f184a-cc62-4137-9a6f-af0f91730165}'. Process ID (decimal): 12624. Message ID: [0x2516].

(Error) TraceLog Profiler failed in initialization due to a lack of instrumentation methods, process vstest.executionengine.x86.exe

Check

a) Environment variable VS110COMNTOOLS is set to \common7\tools

b) Regkey HKLM\SOFTWARE\Microsoft\VisualStudio\11.0\InstallDir is set to your \Common7\IDE\

c) covrun32.dll and covrun64.dll exist in "\Team Tools\Dynamic Code Coverage"

祝你好运,

Nadav

+0

我的机器中没有'covrun64.dll',Code Coverage工作正常。这不是问题。 – 2014-09-27 02:23:38

+0

感谢您的帮助!在我的情况下,环境变量设置不正确。没有错误消息,只是没有代码覆盖率的结果。 – Pegieo 2015-09-23 12:18:30

+0

很高兴我能帮忙;-) – nadavy 2015-09-24 08:51:18