【问题标题】:runsettings.xml file not working with dotnet test coverage commandrunsettings.xml 文件不适用于 dotnet 测试覆盖率命令
【发布时间】:2020-07-03 07:27:02
【问题描述】:

我正在尝试使用以下命令为我的一个项目生成覆盖率报告:

dotnet test "testproject.csproj" /p:CollectCoverage=true /p:CoverletOutputFormat=\"cobertura,lcov\" /p:CoverletOutput="D:\coverage" --settings "runsettings.Runsettings"

我在我的 runsettings.Runsettings 文件中给出了以下设置:

       <CodeCoverage>
         <ModulePaths>
          <Include>
            <ModulePath>.*WCController.dll</ModulePath>
          </Include>
         </ModulePaths>
        <!-- We recommend you do not change the following values: -->
         <UseVerifiableInstrumentation>False</UseVerifiableInstrumentation>
         <AllowLowIntegrityProcesses>True</AllowLowIntegrityProcesses>
         <CollectFromChildProcesses>True</CollectFromChildProcesses>
         <CollectAspDotNet>False</CollectAspDotNet>
      </CodeCoverage>

但是当我运行这个命令时它显示

如您所见,我指定只包含 *WCController.dll 程序集,但它仍然显示其他程序集的覆盖范围。

请帮我找出这个问题的确切原因,因为我不希望在我的报道报告中出现任何其他程序集。

【问题讨论】:

    标签: c# unit-testing .net-core code-coverage


    【解决方案1】:

    您可以在“包含”之后添加“排除”块。像这样的:

    <ModulePaths>
      <Include>
         <ModulePath>.*WCController.dll</ModulePath>
      </Include>
      <Exclude>
         <ModulePath>.*WCController.*.dll</ModulePath>
         <ModulePath>.*WCControllerTests.*.dll</ModulePath>
         ...
      </Exclude>
    </ModulePaths>
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-21
      • 2018-03-30
      • 2010-10-16
      • 2016-03-31
      • 1970-01-01
      • 2014-12-15
      • 1970-01-01
      相关资源
      最近更新 更多