gpt4 book ai didi

.net - 通过命令行在vstest.console.exe中使用/Enablecodecoverage时配置.coverage文件的位置

转载 作者:行者123 更新时间:2023-12-04 14:24:02 25 4
gpt4 key购买 nike

如果我们在 vstest.console.exe 中设置/Enablecodecoverage,有没有办法设置.coverage文件的位置?

我在命令行调用本身中没有看到任何选项。是否要在.runsettings文件中进行设置?

最佳答案

General Command Line Options中所述,如果未指定设置文件,则/Enablecodecoverage使用默认设置。

I did not see an option in the command line call itself. Is it to be set in the .runsettings file?



是的,每当您使用 分析代码覆盖率时,就必须 customize your .runsettings file申请。
  • 在命令行测试中自定义运行设置
  • 启动Visual Studio开发人员命令提示符:

    在Windows上启动选择所有程序 Microsoft Visual Studio Visual Studio工具开发人员命令提示符
  • 运行:
    vstest.console.exe MyTestAssembly.dll /EnableCodeCoverage /Settings:CodeCoverage.runsettings
  • 在构建定义中自定义运行设置

    您可以从团队构建中获取代码覆盖率数据。
    enter image description here
    注意:确保您的.runsettings文件已 checkin 。


  • 编辑:

    vstest.console.exe默认情况下会创建一个* .coverage文件,然后可以将该文件转换为* .xml格式。

    要获取* .coverage文件,可以使用以下命令:

    "c:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" "PATH_OF_YOUR_EXECUTABLE_OR_DLL" /InIsolation /EnableCodeCoverage



    在Visual Studio中创建一个新的命令行项目,并添加对 C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies\Microsoft.VisualStudio.Coverage.Analysis.dll的引用。

    添加以下代码(路径在此处经过硬编码,但可以作为参数提供):
    using Microsoft.VisualStudio.Coverage.Analysis;

    namespace CoverageConverter
    {
    class Program
    {
    static void Main(string[] args)
    {
    using (CoverageInfo info = CoverageInfo.CreateFromFile(
    "PATH_OF_YOUR_*.coverage_FILE",
    new string[] { @"DIRECTORY_OF_YOUR_DLL_OR_EXE"},
    new string[] { }))
    {
    CoverageDS data = info.BuildDataSet();
    data.WriteXml("converted.coveragexml");
    }
    }
    }
    }

    CodeCoverage.exe是另一个可转换为* .xml格式 read more的覆盖率工具。

    编辑2:

    您可以将 /UseVsixExtensions选项与 /EnableCodeCoverage选项一起使用以启用代码覆盖率:
    "C:\Program Files (x86)\Microsoft Visual Studio 11.0
    \Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe"
    /UseVsixExtensions:true /EnableCodeCoverage "C:\Users\YourName\Documents\Visual Studio
    2012\Projects\YourProjectFolder\YourApp.Tests\bin\Debug\YourApp.Tests.dll"

    上面的命令将在目录 TestResults 下生成.coverage文件。

    关于.net - 通过命令行在vstest.console.exe中使用/Enablecodecoverage时配置.coverage文件的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41942959/

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