Как запустить coverlet на проектах.NET, не используя проекты в стиле Sdk?
Я хотел бы попробовать покрывало, но единственные примеры, которые я мог найти, говорят о том, как пройти его через dotnet.exe
, Моя проблема в том, что наши проекты не используют стиль Sdk, это старые проекты.NET, ориентированные на.NET 4.7.2
Как я могу запустить покрывало с ними?
0 ответов
Я использую VS2017, использующий.NET Framework 4.6.1, и у меня установлен.NET Core SDK v2.1.511. Я не придумал, как запустить coverlet без использованияdotnet
, но это работает для меня:
Пробег Install-Package coverlet.msbuild
в консоли диспетчера пакетов для всех ваших тестовых проектов (только).
Затем добавьте в сценарий сборки что-то вроде следующей задачи:
Task("Coverage")
.IsDependentOn("Build")
.Does(() =>
{
StartProcess("dotnet" , new ProcessSettings {
Arguments = new ProcessArgumentBuilder()
.Append("test")
.Append("/p:CollectCoverage=true")
.Append("/p:CoverletOutputFormat=opencover")
});
});
Добавляя OpenCoverReportsPath = "**/*.opencover.xml"
к моему SonarBeginSettings
Теперь я получаю отчеты о покрытии в SonarQube.