Как запустить 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.

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