gpt4 book ai didi

visual-studio - vstest.console.exe 可以工作,但是文件名不好,CodeCoverage.exe 没有给出任何结果

转载 作者:行者123 更新时间:2023-12-03 22:39:47 28 4
gpt4 key购买 nike

我有以下设置:

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 工作。

我能够获得一个“可预测的”文件名并使用 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.dll 合并为一个调用
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 是“可预测的”命名,并且在 .coverage 文件中有实际值。

不知道为什么由 CodeCoverage.exe 创建的 .coverage 文件 .. 在其参数列表中带有 vstest.console.exe .... 不起作用。 :(
同样,不工作 equals 。 '创建 .coverage 文件,但打开它,里面没有任何信息。

关于visual-studio - vstest.console.exe 可以工作,但是文件名不好,CodeCoverage.exe 没有给出任何结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36947296/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com