Description
I have tried getting coverlet to run using the Visual Studio Test task for a .NET Framework 4.7.2 build pipeline, consisting of NuGet restore, MSBuild, VS Test Platform Installer and VSTest. The solution is quite large and contains a range of .NET Standard, net472 and ASP.NET MVC 5 projects, making a migration to the dotnet toolchain for building and testing a non-trivial task.
The test projects are new style net472 projects using xUnit 2.4.1.
Using the collector package yields "Datensammlung: Datensammler "XPlat code coverage" wurde nicht gefunden" (Collector not found). This happens both with and without specifying the InProcDataCollector in runsettings as shown in the known issues. Using the preview tooling does not change the outcome.
Log:
==============================================================================
Task : Visual Studio Test
Description : Führen Sie mit dem Visual Studio Test-Runner (VSTest) Komponenten- und Funktionstests aus (Selenium, Appium, Test der programmierten UI usw.). Testframeworks mit Visual Studio Test-Adapter, wie z. B. MsTest, xUnit, NUnit, Chutzpah (für JavaScript-Tests unter Verwendung von QUnit, Mocha und Jasmine) usw. können ausgeführt werden. Tests können mit dieser Aufgabe (Version 2) auf verschiedene Agents verteilt werden.
Version : 2.153.9
Author : Microsoft Corporation
Help : https://docs.microsoft.com/azure/devops/pipelines/tasks/test/vstest
==============================================================================
SystemVssConnection exists true
SystemVssConnection exists true
SystemVssConnection exists true
Tests werden mit dem Runner "vstest.console.exe" ausgeführt.
======================================================
Testauswahl: Testassemblys
Testfilterkriterien: Category=CoverageTest
Suchordner: E:\AgentBWork\7\s
Laufzeiteinstellungsdatei: E:\AgentBWork\7\s\Build\CodeCoverage.runsettings
Parallel ausführen: true
Separat ausführen: true
Pfad zu benutzerdefinierten Adaptern: null
Andere Konsolenoptionen: null
Code Coverage aktiviert: false
Diagnose aktiviert: false
SystemVssConnection exists true
Tests lokal mithilfe von vstest.console.exe ausführen
========================================================
Testauswahl: Testassemblys
Testassemblys: **\*.Tests.dll,!**\obj\**
Testfilterkriterien: Category=CoverageTest
Suchordner: E:\AgentBWork\7\s
Laufzeiteinstellungsdatei: E:\AgentBWork\7\s\Build\CodeCoverage.runsettings
Parallel ausführen: true
Separat ausführen: true
Pfad zu benutzerdefinierten Adaptern: null
Andere Konsolenoptionen: null
Code Coverage aktiviert: false
Diagnose aktiviert: false
Erneute Ausführung fehlerhafter Tests: false
Die für die Testausführung ausgewählte Version von Visual Studio: toolsInstaller
========================================================
======================================================
[command]E:\AgentBWork\_tool\VsTest\16.5.0-preview-20191115-01\x64\tools\net451\Common7\IDE\Extensions\TestPlatform\vstest.console.exe @E:\AgentBWork\_temp\2f2115b1-1a98-11ea-a4ba-cdceaacc213b.txt
Microsoft (R) Testausführungs-Befehlszeilentool Version 16.5.0-preview-20191115-01
Copyright (c) Microsoft Corporation. Alle Rechte vorbehalten.
vstest.console.exe
"E:\AgentBWork\7\s\Testproject.Tests\bin\Release\net472\Testproject.Tests.dll"
/TestCaseFilter:"Category=CoverageTest"
/Settings:"E:\AgentBWork\_temp\3250d1d0-1a98-11ea-a4ba-cdceaacc213b.runsettings"
/InIsolation
/logger:"trx"
/TestAdapterPath:"E:\AgentBWork\7\s"
Die Testausführung wird gestartet, bitte warten...
Insgesamt 1 Testdateien stimmten mit dem angegebenen Muster überein.
Datensammlung: Ein Datensammler mit dem Anzeigenamen "XPlat code coverage" wurde nicht gefunden.
Datensammlung: Datensammler "XPlat code coverage" wurde nicht gefunden
[xUnit.net 00:00:00.00] xUnit.net VSTest Adapter v2.4.1 (32-bit Desktop .NET 4.0.30319.42000)
The MSBuild package does not seem to react at all and trying to pass arguments with /p: yields a System.ArgumentException.
==============================================================================
Task : Visual Studio Test
Description : Führen Sie mit dem Visual Studio Test-Runner (VSTest) Komponenten- und Funktionstests aus (Selenium, Appium, Test der programmierten UI usw.). Testframeworks mit Visual Studio Test-Adapter, wie z. B. MsTest, xUnit, NUnit, Chutzpah (für JavaScript-Tests unter Verwendung von QUnit, Mocha und Jasmine) usw. können ausgeführt werden. Tests können mit dieser Aufgabe (Version 2) auf verschiedene Agents verteilt werden.
Version : 2.153.9
Author : Microsoft Corporation
Help : https://docs.microsoft.com/azure/devops/pipelines/tasks/test/vstest
==============================================================================
SystemVssConnection exists true
SystemVssConnection exists true
SystemVssConnection exists true
Tests werden mit dem Runner "vstest.console.exe" ausgeführt.
======================================================
Testauswahl: Testassemblys
Testfilterkriterien: Category=CoverageTest
Suchordner: E:\AgentBWork\7\s
Parallel ausführen: true
Separat ausführen: true
Pfad zu benutzerdefinierten Adaptern: null
Andere Konsolenoptionen: /p:Include=\"[Testproject.*]*\" /p:CollectCoverage=true /p:CoverletOutputFormat=cobertura
Code Coverage aktiviert: false
Diagnose aktiviert: false
SystemVssConnection exists true
Tests lokal mithilfe von vstest.console.exe ausführen
========================================================
Testauswahl: Testassemblys
Testassemblys: **\Testproject.Tests.dll,!**\obj\**
Testfilterkriterien: Category=CoverageTest
Suchordner: E:\AgentBWork\7\s
Laufzeiteinstellungsdatei: E:\AgentBWork\7\s
Parallel ausführen: true
Separat ausführen: true
Pfad zu benutzerdefinierten Adaptern: null
Andere Konsolenoptionen: /p:Include=\"[Testproject.*]*\" /p:CollectCoverage=true /p:CoverletOutputFormat=cobertura
Code Coverage aktiviert: false
Diagnose aktiviert: false
Erneute Ausführung fehlerhafter Tests: false
Die für die Testausführung ausgewählte Version von Visual Studio: toolsInstaller
========================================================
======================================================
[command]E:\AgentBWork\_tool\VsTest\16.5.0-preview-20191115-01\x64\tools\net451\Common7\IDE\Extensions\TestPlatform\vstest.console.exe @E:\AgentBWork\_temp\346ab611-1b25-11ea-855e-3f5d8d406385.txt
Microsoft (R) Testausführungs-Befehlszeilentool Version 16.5.0-preview-20191115-01
Copyright (c) Microsoft Corporation. Alle Rechte vorbehalten.
vstest.console.exe
"E:\AgentBWork\7\s\Testproject.Tests\bin\Release\net472\Testproject.Tests.dll"
/TestCaseFilter:"Category=CoverageTest"
/Settings:"E:\AgentBWork\_temp\376ad6b0-1b25-11ea-855e-3f5d8d406385.runsettings"
/InIsolation
/logger:"trx"
/TestAdapterPath:"E:\AgentBWork\7\s"
/p:Include=\"[Testproject.*]*\" /p:CollectCoverage=true /p:CoverletOutputFormat=cobertura
Unbehandelte Ausnahme: System.ArgumentException: Illegales Zeichen im Pfad.
bei System.IO.Path.CheckInvalidPathChars(String path, Boolean checkAdditional)
bei System.IO.Path.IsPathRooted(String path)
bei vstest.console.Internal.FilePatternParser.GetMatchingFiles(String filePattern)
bei Microsoft.VisualStudio.TestPlatform.CommandLine.CommandLineOptions.AddSource(String source)
bei Microsoft.VisualStudio.TestPlatform.CommandLine.Processors.TestSourceArgumentExecutor.Initialize(String argument)
bei Microsoft.VisualStudio.TestPlatform.CommandLine.Processors.ArgumentProcessorFactory.<>c__DisplayClass20_0.<WrapLazyProcessorToInitializeOnInstantiation>b__0()
bei System.Lazy`1.CreateValue()
bei System.Lazy`1.LazyInitValue()
bei System.Lazy`1.get_Value()
bei Microsoft.VisualStudio.TestPlatform.CommandLine.Processors.ArgumentProcessorFactory.<>c__DisplayClass20_0.<WrapLazyProcessorToInitializeOnInstantiation>b__0()
bei System.Lazy`1.CreateValue()
bei System.Lazy`1.LazyInitValue()
bei System.Lazy`1.get_Value()
bei Microsoft.VisualStudio.TestPlatform.CommandLine.Processors.ArgumentProcessorFactory.<>c__DisplayClass20_0.<WrapLazyProcessorToInitializeOnInstantiation>b__0()
bei System.Lazy`1.CreateValue()
bei System.Lazy`1.LazyInitValue()
bei System.Lazy`1.get_Value()
bei Microsoft.VisualStudio.TestPlatform.CommandLine.Executor.GetArgumentProcessors(String[] args, List`1& processors)
bei Microsoft.VisualStudio.TestPlatform.CommandLine.Executor.Execute(String[] args)
bei Microsoft.VisualStudio.TestPlatform.CommandLine.Program.Main(String[] args)
Is there a way to use Coverlet with the VSTest task? Or is there another way to use Coverlet with full framework 4.7.2 test projects?