Есть ли способ получить результаты тестирования и html-отчет о покрытии от MSTest
Я хотел бы иметь возможность создавать отчет на основе HTML из файлов Results.trx
и, созданных data.coverage
MSTest. В идеале это просто список всех сбоев и некоторая базовая статистика покрытия.
Кто-нибудь знает об инструменте, который это делает?
Ответов (9)9
Я добавил для этого проект codeplex, вы можете сгенерировать html из trx, а также добавить данные о покрытии кода в тот же отчет. http://trxtohtml.codeplex.com/
Я пишу простой командный файл для преобразования вашего XML-отчета в HTML.
Предварительные условия
- Скачать trx2html.exe из здесь
- Вставьте его в любое место на вашем компьютере, где создается XML-файл.
Создайте файл 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 отсюда
- Постройте / перестройте проект для создания файла .dll.
- Если имя вашего проекта - UnitTest1, то имя файла .dll будет UnitTest1.dll. Перейдите в расположение .dll как
C: \ Users \ NAME \ source \ repos \ UnitTest1 \ UnitTest1 \ bin \ Debug \ netcoreapp3.1 \ UnitTest1.dll
- Откройте командную строку разработчика Visual Studio 2019
- Запустите команду, чтобы установить местоположение
cd C: \ Users \ NAME \ source \ repos \ UnitTest1 \ UnitTest1 \ bin \ Debug \ netcoreapp3.1 \ UnitTest1.dll
- Запустите команду для создания файла trx:
vstest.console.exe UnitTest1.dll / регистратор: trx
Файл Trx будет создан в папке TestReults, которая находится в том же месте, где находится файл dll проекта.
Если 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
- 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.
Вот как вы можете сгенерировать html-отчет для своего trx с помощью XSLT http://www.mytechfinds.com/articles/software-testing/6-test-automation/27-trx-to-html-using-xslt