使用C#MVC 4应用程序在localhost中打开Cover



我只想尝试OpenCover从我的应用程序中获取覆盖率统计信息。但我不太明白如何使用它。所以我的问题是什么?dll必须在同一目录中吗?(我的解决方案有几个项目)有任何使用OpenCover获取Coverage的示例吗?是否需要在IIS ExpressASP.NET中运行站点开发服务器?

非常感谢!

我将开放式封面设置为外部工具,使其对我来说更容易。

下载exe并将其放入路径尽可能短的文件夹中。然后设置和外部工具如下:

Title : Open Cover {this is your choice}
Command: {your path to opencover}OpenCover.Console.exe
Arguments: -register:user -target:"C:Progra~1Microsoft Visual Studio 11.0Common7IDECommonExtensionsMicrosoftTestWindowvstest.console.exe" -targetargs:"$(TargetName)$(TargetExt)" -output:coverage.xml  -targetdir:"$(ProjectDir)bindebug"
Initial directory: $(TargetDir)

将其设置为使用输出窗口并在退出时关闭。你需要调整测试运行程序以适合你,我使用vs2012,如果你也这样做,那会让你更容易。

要使用它,请在解决方案资源管理器中单击您的测试项目,然后单击开放式外部工具,它将为您生成覆盖率报告。我将它与报表生成器一起使用。

也将其设置为外部工具:

 Title: Report Generator
 Command: {Your path to report generator}ReportGenerator.exe
 Arguments: $(TargetDir)coverage.xml $(TargetDir)coverageResults

再次设置为在退出时关闭并使用输出窗口。

生成覆盖率报告后,您可以使用报告生成器创建一个好看的html版本,您可以点击查看统计数据。

hth

与OpenCover一起安装的文档包含了许多关于运行OpenCover的有用信息。你应该有这个文件的副本https://github.com/sawilde/opencover/blob/master/main/OpenCover.Documentation/Usage.pdf在您的下载包(MSI/ZIP/NUGET)

DLL不需要都在同一目录中,但您通常会发现这是由于生成过程造成的。要从中收集覆盖率的任何程序集都要求这些程序集的PDB与程序集位于同一目录中,或者位于targetdir开关引用的文件夹中。

是的,您可以使用它来运行iisexpress,或者ASP.NET开发服务器使用target开关。

相关内容

  • 没有找到相关文章

最新更新