由JetBrains集成到ReSharper Ultimate中的dotCover客户端工具包括一个获取在IIS下运行的应用程序(例如ASP.NET MVC应用程序)的代码覆盖率的选项 .
JetBrains的TeamCity持续集成系统包括一个集成在其中的免费命令行版本的dotCover . VSTest运行器可以很好地使用dotCover生成单元测试的代码覆盖率 . 但是,它不会生成在IIS下运行的代码的任何代码覆盖,例如使用Selenium WebDriver之类的集成测试 .
有没有办法在TeamCity中使用dotCover命令行工具来获取在IIS下运行的应用程序的代码覆盖率?
1 回答
使用dotCover命令行的IIS代码覆盖率尚未实现,如dotCover问题跟踪器上的this ticket所述 .
但是,使用a comment by Tony Fabris on the ticket中的提示,我能够创建一个Powershell脚本,该脚本可以生成应用程序的代码覆盖率 . 这使用IIS Express而不是IIS,这不是理想的,但现在足够接近 .
我已经在这里发布了我的脚本,以防它对其他人有用 .
请注意,在我的情况下,我结帐到固定目录,因此网站,工作路径和测试程序集都是已知的绝对路径 . TeamCity默认是为每个构建签出到不同的临时目录,因此如果您使用默认目录,则需要更改脚本以考虑该目录 .