背景:我们有一个项目启动了一个从 Web 界面 GUI 控制的服务。我们没有使用特定的(从商业角度来看)Web服务器,而是围绕Windows服务的内部创建的包装器,用于管理所有Web界面交互。
我们拥有什么:现在我们已经开始使用Selenium和MSTest来测试Web界面,我们正试图覆盖这类测试,OpenCover似乎做到了。问题是不是(或者我们正在做一些不同或错误的事情)。我没有得到的唯一代码覆盖率是用于启动 Windows 服务的方法以及在此过程中调用的所有其他方法的代码覆盖率(因为我也可以访问所有 PDB),但之后根据 Selenium 与浏览器交互发生的操作,什么都没有涵盖。
任何提示/想法或其他能够完成工作的工具(如果可能的话)都值得赞赏。
运行的是 ASP.net 应用程序,你需要将OpenCover附加到IIS或IISExpress,以获得硒的准确代码覆盖率。这使得使用 MSTest 有点困难。您可能需要考虑将尽可能多的逻辑移动到服务中,并针对这些逻辑编写单元测试。
这是一个快速示例,用于将打开的盖子连接到IISOpenCover.Console.exe -target:C:\Windows\System32\inetsrv\w3wp.exe -targetargs:-debug-targetdir:C:\Inetpub\wwwwoot\MyWebApp\bin\ -filter:+[] -register:user