我正在尝试获取在IIS中运行的ASP.NET REST服务(使用global.asax文件)的代码覆盖率指标。我已遵循以下基本步骤:
但是,当我打开创建的cc.coverage文件时,只有一个或两个DLL(不一致)具有覆盖率结果,并且测试绝对会在所有5个DLL中执行代码。我是在做错什么还是错过了一步?谢谢!
答案 0 :(得分:0)
根据https://blogs.msdn.microsoft.com/tfssetup/2015/08/13/steps-to-check-the-code-coverage-of-a-web-application-via-command-line/,您应该在iisreset /STOP
之后vsperfcmd /shutdown
之前发出vsperfcmd /detach
命令。不知道这是否是导致问题的根本原因,但可能是因为您的情况似乎并未如实地发生缓冲区刷新。为了从会话中获取覆盖数据,需要对每个模块进行缓冲区刷新-如果未正确关闭所有对象,则可能导致缓冲区无法刷新其数据。