Есть ли способ получить результаты тестирования и html-отчет о покрытии от MSTest

Я хотел бы иметь возможность создавать отчет на основе HTML из файлов Results.trx и, созданных data.coverage MSTest. В идеале это просто список всех сбоев и некоторая базовая статистика покрытия.

Кто-нибудь знает об инструменте, который это делает?

Ответов (9)

Я добавил для этого проект codeplex, вы можете сгенерировать html из trx, а также добавить данные о покрытии кода в тот же отчет. http://trxtohtml.codeplex.com/

Я пишу простой командный файл для преобразования вашего XML-отчета в HTML.

Предварительные условия

  1. Скачать trx2html.exe из здесь
  2. Вставьте его в любое место на вашем компьютере, где создается XML-файл.
  3. Создайте файл report.bat и вставьте приведенный ниже код.

    @echo off :: ***************************** Константы *************** ************************************************* установить "trxFileName = TestResult"
    установить "trx2html_path = C: \ Users \ Desktop \ 0.6 \ TrxerConsole.exe" :: ************************ ************************************************ *****************

    echo ------------------------ «Создание отчета об испытаниях» -------------------- --------------------------% trx2html_path% ". \ Results \% trxFileName%"

    echo ----------------------- "Отчет об испытании создан в местоположении =. \ Results \% trxFileName%" ----------- - Пауза

вы можете использовать инструмент TRXER для создания отчетов HTML из файла trx. Загрузите файл TrxerConsole.exe отсюда

  1. Постройте / перестройте проект для создания файла .dll.
  2. Если имя вашего проекта - UnitTest1, то имя файла .dll будет UnitTest1.dll. Перейдите в расположение .dll как

C: \ Users \ NAME \ source \ repos \ UnitTest1 \ UnitTest1 \ bin \ Debug \ netcoreapp3.1 \ UnitTest1.dll

  1. Откройте командную строку разработчика Visual Studio 2019
  2. Запустите команду, чтобы установить местоположение

cd C: \ Users \ NAME \ source \ repos \ UnitTest1 \ UnitTest1 \ bin \ Debug \ netcoreapp3.1 \ UnitTest1.dll

  1. Запустите команду для создания файла trx:

vstest.console.exe UnitTest1.dll / регистратор: trx

  1. Файл Trx будет создан в папке TestReults, которая находится в том же месте, где находится файл dll проекта.

  2. Если TrxerConsole.exe находится в загрузке, запустите команду для преобразования в HTML.

    Путь к файлу trxerconsole.exe, затем пробел, затем Путь к trxfile, как показано ниже

C: \ Users \ NAME \ Downloads \ TrxerConsole.exe C: \ Users \ NAME \ source \ repos \ DesktopWithMSTest \ DesktopWithMSTest \ bin \ Debug \ netcoreapp3.1 \ TestResults \ TestResult.trx

  1. HTML-файл будет создан в той же папке TestResults.

ссылка для ссылки

ваши отчеты будут выглядеть так:

Отчеты

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

(Я сделал это в PowerShell)

Вам нужна эта dll

Microsoft.VisualStudio.Coverage.Analysis.dll

тогда эта строка превратит .coverage в XML-файл (который уже есть .trx)

$dataStore = ([Microsoft.VisualStudio.CodeCoverage.CoverageInfoManager]::CreateInfoFromFile("$homeDir\tests.coverage")).BuildDataSet($null)

$dataStore.WriteXml("$homeDir\Coverage.xml")

Затем вы можете использовать xsl-файл MsTest с сайта cruisecontrol.net, чтобы поместить результаты теста в красивый html-формат, и у меня есть XSL для покрытия. Которая здесь не влезет. Я бы хотел, чтобы у них была возможность загружать файлы. Напишите мне alex dot hutton на hotmail, и я могу предоставить вам xsl для отображения этого покрытия

Фактически мы сделали это с помощью инструмента с открытым исходным кодом Trx2Html.

Это действительно просто - получает файл trx и выводит html. Существуют специальные версии для VS2005 trx и VS2008 trx.

Файлы trx представляют собой довольно простые XML-документы, которые можно легко обрабатывать с помощью XSLT для создания гибких и настраиваемых отчетов.

Если вы запустите Google trx и xslt, вы найдете несколько примеров, с которых можно начать.

Вот как вы можете сгенерировать html-отчет для своего trx с помощью XSLT http://www.mytechfinds.com/articles/software-testing/6-test-automation/27-trx-to-html-using-xslt

попробуйте новый trx2html.codeplex.com, он основан не на XSLT, а на LINQ2XML, поэтому его проще расширить