【问题标题】:Open generated HTML report in post-build event在构建后事件中打开生成的 HTML 报告
【发布时间】:2013-11-27 20:39:09
【问题描述】:

在我的单元测试项目的构建后事件中,我运行 OpenCover 和 ReportGenerator 来获取代码覆盖率报告:

del "$(SolutionDir)TestResults\Coverage\*.*"

"$(SolutionDir)packages\OpenCover.4.5.1923\OpenCover.Console.exe" 
-register:user 
-target:"$(MSBuildProgramFiles32)\Microsoft Visual Studio 12.0\
   Common7\IDE\MSTest.exe" 
-targetdir:"$(ProjectDir)bin\$(ConfigurationName)" 
-targetargs:"/testcontainer:\"$(TargetPath)\"" 
-output:"$(SolutionDir)TestResults\Coverage\coverage.xml" 
-filter:"+[MyProject]* "

$(SolutionDir)packages\ReportGenerator.1.9.1.0\ReportGenerator.exe" 
-reports:"$(SolutionDir)TestResults\Coverage\coverage.xml" 
-targetdir:"$(SolutionDir)TestResults\Coverage"

call "$(SolutionDir)TestResults\Coverage\index.htm"

最后一步是打开生成的 HTML 报告。使用当前的call 命令,它会在我的默认 Web 浏览器中打开 HTML 报告。但如果报告可以在 Visual Studio 本身中打开,我希望它。

如果以及如何实现这一目标?

【问题讨论】:

  • 您能否解释一下您希望通过在 Visual Studio 中而不是在浏览器中打开报告来实现什么?
  • 真的是为​​了方便。当我构建我的项目并完成时,它将在同一窗口中显示构建结果和覆盖率报告,而不是在 VS 和浏览器之间切换。

标签: visual-studio post-build-event opencover reportgenerator


【解决方案1】:

我实际上已经使用 PowerShell 和 VS 核心自动化包装器 EnvDTE 中的 Navigate 方法让它工作。 我将最后一个 call 命令替换为以下内容:

powershell 
-ExecutionPolicy Unrestricted 
-Command "& { $dte = [System.Runtime.InteropServices.Marshal]::
                     GetActiveObject(\"VisualStudio.DTE.11.0\"); 
              $dte.ItemOperations.Navigate(
                     \"$(SolutionDir)TestResults\Coverage\index.htm\"); }"

这会在 VS 项目内的新浏览器选项卡中打开报告。

【讨论】:

  • 作为使用 Visual Studio Express(Web 开发人员)尝试此功能的人的仅供参考,请将 VisualStudio.DTE.11.0 替换为 VWDExpress.DTE.11.0
【解决方案2】:

非常简单的事情在后期构建事件中对我有用-

start http://localhost/MYWeb/Home.aspx

【讨论】:

    【解决方案3】:

    您也许可以使用 devenv 使用 command line 开关打开文件。

    devenv /edit $(SolutionDir)TestResults\Coverage\index.htm
    

    但它可能会将其作为文件打开以进行编辑而不是查看。

    【讨论】:

    • 您最后的评论是正确的,它确实以编辑模式而不是浏览模式打开文件。
    • 这给出了编辑模式,而不是查看模式。另外,如果您在构建后事件中运行 devenv,您会收到 exited with code 9009 消息。
    猜你喜欢
    • 1970-01-01
    • 2023-03-17
    • 2022-11-17
    • 2015-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-23
    • 2023-03-18
    相关资源
    最近更新 更多