2016-04-29 9 views
7

Mam następującą konfigurację:prace vstest.console.exe, ale nie z dobrej nazwy pliku, CodeCoverage.exe nie daje żadnych wyników

set __vsTestConsoleExe=C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe 
set __codeCoverageExe=C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Dynamic Code Coverage Tools\CodeCoverage.exe 

set __testFile=My.UnitTests.dll 

REM Below I get a ".coverage" file with the correct coverage. But the file name is kinda-random 
"%__vsTestConsoleExe%" "%__testFile%" /InIsolation /EnableCodeCoverage 

PAUSE 

REM Below I get a big ole nothing 
"%__codeCoverageExe%" collect /output:DynamicCodeCoverage.coverage "%__vsTestConsoleExe%" "%__testFile%" /InIsolation /EnableCodeCoverage 
"%__codeCoverageExe%" analyze /output:DynamicCodeCoverage.coveragexml DynamicCodeCoverage.coverage 

gdy linia biegnie poniżej:

"%__vsTestConsoleExe%" "%__testFile%" /InIsolation /EnableCodeCoverage 

mam dobry plik .coverage, ale jego wygenerowana nazwa pliku podobnym:

MyUSERNAME_MYMACHINE 2016-03-24 16_03_20.coverage 

linie po oświadczeniu Pauza (w pierwszym bloku kodu) Wygląda na to, że powinni zebrać pokrycie (i uwaga, daję temu samemu "% __ vsTestConsoleExe%" "comamand ....... ale dostaję z tego nic wielkiego.

Co robię źle?

Odpowiedz

0

Nigdy nie udało mi się uruchomić pliku vstest.console.exe.

Udało mi się uzyskać "przewidywalną" nazwę pliku I uzyskać informacje w pliku .coverage przy użyciu narzędzia MsTest.exe.

set __msTestExe=C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\MSTest.exe 
set __codeCoverageExe=C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Dynamic Code Coverage Tools\CodeCoverage.exe 



REM the below calls will create the binary *.coverage files 
"%__codeCoverageExe%" collect /output:"D:\BuildStuff\TestResults\AAA_DynamicCodeCoverage.coverage" "%__msTestExe%" /testcontainer:"D:\BuildStuff\BuildResults\My.UnitTests.One.dll" /resultsfile:"D:\BuildStuff\TestResults\My.UnitTests.One.trx" 
"%__codeCoverageExe%" collect /output:"D:\BuildStuff\TestResults\BBB_DynamicCodeCoverage.coverage" "%__msTestExe%" /testcontainer:"D:\BuildStuff\BuildResults\My.UnitTests.Two.dll" /resultsfile:"D:\BuildStuff\TestResults\My.UnitTests.Two.trx" 
"%__codeCoverageExe%" collect /output:"D:\BuildStuff\TestResults\CCC_DynamicCodeCoverage.coverage" "%__msTestExe%" /testcontainer:"D:\BuildStuff\BuildResults\My.UnitTests.Three.dll" /resultsfile:"D:\BuildStuff\TestResults\My.UnitTests.Three.trx" 

Można również połączyć 3 UnitTests.dlls do jednej rozmowy

REM the below calls will create the binary *.coverage file 
"%__codeCoverageExe%" collect /output:"D:\BuildStuff\TestResults\ZZZ_DynamicCodeCoverage.coverage" "%__msTestExe%" /testcontainer:"D:\BuildStuff\BuildResults\My.UnitTests.One.dll" /testcontainer:"D:\BuildStuff\BuildResults\My.UnitTests.Two.dll" /testcontainer:"D:\BuildStuff\BuildResults\My.UnitTests.Three.dll" /resultsfile:"D:\BuildStuff\TestResults\My.UnitTests.AllOfThem.trx" 

ZZZ_DynamicCodeCoverage.coverage jest „przewidywalny” o nazwie i ma rzeczywiste wartości w pliku .coverage.

Nie mam pojęcia, dlaczego plik .coverage stworzony przez CodeCoverage.exe .. z plikiem vstest.console.exe na liście argumentów .... nie działa. :( Ponownie, nie działa w taki sam sposób. 'Tworzy plik .coverage, ale otwiera go, nie ma w nim żadnych informacji. "

Powiązane problemy