1

我一直在使用MTM一段时间,到目前为止,这么好。我正在尝试通过我正在执行的测试获得代码覆盖率。我用两台机器设置了我的控制器:1个webclient和1个webserver。对于网络服务器规则,我配置了代码覆盖率。网络服务器机器是我的应用程序在IIS上运行的机器。微软测试管理器和代码覆盖率

当我启动我的自动化测试(该btw不是使用visual studio创建的,它是使用Ranorex创建的),我可以看到它生成了一个.coverage文件。

但是当我打开这个文件,它是空的,我得到从Visual Studio这样的信息:

空结果产生:没有二进制文件仪器。确保运行测试,加载所需的二进制文件,具有匹配的符号文件,并且不会通过自定义设置排除。欲了解更多信息,请参阅http://go.microsoft.com/fwlink/?LinkID=253731

当然我已阅读

但我发现没有什么错我的情况。

有没有人有任何想法会发生什么?

回答

1

好吧。事实证明,这是我用来在Web服务器上运行测试代理的用户的权限问题。

将用户更改为另一个具有更多权限的用户后,一切正常。

1

打开并检查是否在解决方案中找到以下文件之一:Local.testsettingsTraceAndTestImpact.testsettings并在VS中双击它们。一个新窗口将打开,您需要选择Data and Diagnostics。在那里你会看到一个点Code Coverage,双击它,然后选择你想要代码覆盖的所有程序集。

如果这不起作用,请检查您的PDB文件是否存在于您的DLL文件旁边。

+1

我没有这些文件,但它们真的有必要吗?所有来自微软的网页都没有对此发表任何评论。如果是这样,我怎样才能得到这些文件? – 2013-03-13 14:42:18

+0

如果是您或您的团队开发的项目,可以在项目/解决方案的bin文件夹中找到它们。如果它来自第三方,那么它很难得到它们,我认为不需要为第三方程序集的代码编写代码,因为第三方应该检查它们自己。 – TimVK 2013-03-13 14:45:31