vstest.console.exe 有效,但没有一个好的文件名,CodeCoverage.exe 没有给出任何结果
vstest.console.exe works, but not with a good file name, CodeCoverage.exe does not give any results
我有以下设置:
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
当以下行运行时:
"%__vsTestConsoleExe%" "%__testFile%" /InIsolation /EnableCodeCoverage
我得到了一个很好的 .coverage 文件,但它的生成文件名如下:
MyUSERNAME_MYMACHINE 2016-03-24 16_03_20.coverage
PAUSE 语句之后的行(在第一个代码块中)看起来应该收集覆盖率(请注意,我给它相同的'“%__vsTestConsoleExe%”'comamand .. .....但我从中一无所获。
我做错了什么?
我一直无法 vstest.console.exe 工作。
我能够获取 "predictable" 文件名并使用 MsTest.exe 在 .coverage 文件中获取信息。
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"
您也可以将 3 个 UnitTests.dlls 合并为一个调用
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 是 "predictably" 命名的,并且在 .coverage 文件中有实际值。
不知道为什么 CodeCoverage.exe 创建的 .coverage 文件 .. 在其参数列表中带有 vstest.console.exe .... 不起作用。 :(
同样,不工作 equals 。 '创建 .coverage 文件,但打开它时,里面没有任何信息。
我有以下设置:
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
当以下行运行时:
"%__vsTestConsoleExe%" "%__testFile%" /InIsolation /EnableCodeCoverage
我得到了一个很好的 .coverage 文件,但它的生成文件名如下:
MyUSERNAME_MYMACHINE 2016-03-24 16_03_20.coverage
PAUSE 语句之后的行(在第一个代码块中)看起来应该收集覆盖率(请注意,我给它相同的'“%__vsTestConsoleExe%”'comamand .. .....但我从中一无所获。
我做错了什么?
我一直无法 vstest.console.exe 工作。
我能够获取 "predictable" 文件名并使用 MsTest.exe 在 .coverage 文件中获取信息。
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"
您也可以将 3 个 UnitTests.dlls 合并为一个调用
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 是 "predictably" 命名的,并且在 .coverage 文件中有实际值。
不知道为什么 CodeCoverage.exe 创建的 .coverage 文件 .. 在其参数列表中带有 vstest.console.exe .... 不起作用。 :( 同样,不工作 equals 。 '创建 .coverage 文件,但打开它时,里面没有任何信息。