Создайте отчет о покрытии кода и результаты модульного теста с помощью одной команды (если это возможно) - PullRequest
0 голосов
/ 30 октября 2019

У меня есть служба Windows, написанная на .net Framework 4.6. Я пытаюсь запустить анализ сонара для этой службы.
Мое требование состоит в том, чтобы сгенерировать как результат покрытия кода, так и отчет о модульном тестировании, используя MStest.exe или vstest.console.exe. Я написал тестовые случаи, используя MStest для моего сервиса.

Используя MSTest, я написал следующую команду:

MSTest /testcontainer:.\SolutionTests\bin\Release\SolutionTests.dll /resultsfile:"C:\SonarQube\Solution.trx"

Используя vstest.console.exe, я написал следующую команду:

vstest.console.exe SolutionTests\bin\Release\SolutionTests.dll /Enablecodecoverage /Logger:trx;LogFileName="C:\SonarQube\Solution.trx"

В обоихтолько для случаев генерируется отчет о модульном тестировании (файл .trx), так как я явно указал имя файла в команде.

Можно ли как-нибудь сгенерировать файл .coverage, используя ту же команду, добавив другие параметры. Я читал в нескольких статьях, в которых говорится, что команда MSTest генерирует оба отчета (result.trx and data.coverage), но нигде не написана точная команда, как это сделать. Я выполнил указанную выше команду, она не сгенерировала файл data.coverage для меня.

Может кто-нибудь помочь мне? Благодаря.

1 Ответ

0 голосов
/ 31 октября 2019

Этого можно добиться с помощью пакета под названием Coverlet . По сути, вы можете определить формат вывода тестов и сгенерировать файл .trx для Bamboo. Команда будет выглядеть примерно так:

executable test --logger "trx;LogFileName=testResults.trx"  /p:CollectCoverage=true /p:CoverletOutputFormat=preferredformat.

Ознакомьтесь с документацией , чтобы узнать, как конкретно интегрироваться с VSTest.

...