2016-02-01 31 views
0

我的本地机器上有一个Jenkins安装程序,它使用vstest.console.exe运行集成测试。其中一些运行Selenium。 vstest.console.exe进程将覆盖率分析收集到一个文件并收集Selenium测试的覆盖率我使用Team Tools CodeCoverage.exe和/ IIS开关。该构建部署到名为IntegrationTests的本地IIS应用程序,该应用程序是Selenium测试的目标。最后我合并了vstest.console.exe生成的覆盖率和CodeCoverage.exe生成的覆盖率。这一切都很好,直到!如何从CodeCoverage.exe/IIS分析中排除应用程序

直到我在Visual Studio中调试我的Web应用程序。这使计算机生成一些ASP.NET临时文件,这些文件也是由CodeCoverage.exe收集的,导致生成的覆盖率文件中的程序集重复,导致Jenkins中的结果出错。

所以我的问题是:有谁知道如何从CodeCoverage.exe分析中排除IIS应用程序(调试时使用的应用程序)?或者指定应该排除生成的一些ASP.NET临时文件?

感谢, Drutten

回答

1

你有没有尝试设置模块,属性,资源或功能在RunSettings排除文件?

...   
<!-- Match the path of the source files in which each method is defined: --> 
     <Sources> 
      <Exclude> 
      <Source>.*\\atlmfc\\.*</Source> 
      <Source>.*\\vctools\\.*</Source> 
      <Source>.*\\Service References\\.*</Source> 
      <Source>.*\\obj\\.*</Source> 
      <Source>.*\\*.designer.cs*</Source> 
... 

和设置Settings标志codecoverage.exe

+0

谢谢!是的,我看着那些。我不使用RunSettings文件。但是有一个CodeCoverage.config文件有类似的东西。也许我可以在那里排除IIS应用程序路径。如果我在短时间内完成两次运行,那么集成测试IIS应用程序(localhost/IntegrationTests)也会出现同样的问题,因为我的程序集的几个版本都在Temporary ASP.NET Files \ integrationtests中结束,但我解决了这个问题执行iisreset/stop,删除集成测试的临时文件,iisreset/start。如果我在两次运行之间等待一小时CodeCoverage.exe只包括最近。 – Drutten

0

我通过删除临时asp.net文件中的文件来临时解决它。