Открыть сгенерированный отчет HTML в событии после сборки

В событии после сборки моего проекта модульного тестирования я запустил 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 Команда открывает отчет HTML в моем браузере по умолчанию. Но мне бы хотелось, чтобы отчет мог открываться в самой Visual Studio.

Если и как я достигну этого?

3 ответа

Решение

Я на самом деле заставил его работать с помощью PowerShell и Navigate метод в оболочке автоматизации ядра VS, EnvDTE. Я заменил последний call команда со следующим:

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

И это открывает отчет в новой вкладке браузера внутри проекта VS.

Очень простая вещь работала для меня в событии пост-сборки

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

Вы можете использовать devenv, чтобы открыть файл, используя ключи командной строки.

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

но он может открыть его как файл для редактирования, а не для просмотра.

Другие вопросы по тегам