标签: code-coverage

如何关闭 PHPStorm 9 中的测试覆盖率报告?

似乎一旦您使用代码覆盖率运行测试,就无法阻止未来的测试运行显示内嵌代码覆盖率。

即使我正常运行测试(没有覆盖),覆盖仍然存在。

如果我从工具菜单中选择“隐藏覆盖数据”,它只会隐藏覆盖结果菜单。

如何让它停止在我的源文件中显示内嵌覆盖率?

code-coverage phpstorm

1
推荐指数
1
解决办法
599
查看次数

使用 JavaScript 的 Cobertura

Cobertura 是否已知用于 JavaScript 代码库中的代码覆盖率? http://cobertura.github.io/cobertura/说它是用于 Java 代码库的。

javascript code-coverage cobertura

1
推荐指数
1
解决办法
2179
查看次数

从 Visual Studio Team Services 中的代码覆盖范围中排除程序集

我有一个在 Visual Studio Team Services(以前称为 Visual Studio Online)上运行的构建。我想从代码覆盖率计算中排除一些程序集。基于我 许多 来源阅读的格式。我创建了一个 .runsettings 文件,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
  <DataCollectionRunSettings>
    <DataCollectors>
      <DataCollector friendlyName="Code Coverage" 
          uri="datacollector://Microsoft/CodeCoverage/2.0"
          assemblyQualifiedName="Microsoft.VisualStudio.Coverage.DynamicCoverageDataCollector, Microsoft.VisualStudio.TraceCollector, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
        <Configuration>
          <CodeCoverage>
            <ModulePaths>
              <Exclude>
                <ModulePath>*AWSSDK*</ModulePath>
              </Exclude>
            </ModulePaths>
          </CodeCoverage>
        </Configuration>
      </DataCollector>
    </DataCollectors>
  </DataCollectionRunSettings>
</RunSettings>
Run Code Online (Sandbox Code Playgroud)

但这会产生以下错误:

正在开始测试执行,请稍候...错误:System.InvalidOperationException:无法在流程流上混合同步和异步操作。在System.Diagnostics.Process.get_StandardError()在Microsoft.VisualStudio.Coverage.Vanguard.Wait()在Microsoft.VisualStudio.Coverage.Vanguard.Start(字符串outputName,DataCollectionContext上下文)在Microsoft.VisualStudio.Coverage.DynamicCoverageDataCollectorImpl.StartVanguard( DataCollectionContext 上下文)位于 Microsoft.VisualStudio.Coverage.UnitTestDataCollector.SessionStart(对象发送者,SessionStartEventArgs e)位于 Microsoft.VisualStudio.Coverage.DynamicCoverageDataCollector.SessionStart(对象发送者,SessionStartEventArgs e)位于 System.EventHandler`1.Invoke(对象发送者,TEventArgs) e) 在 WEX.TestExecution.TaefDataCollectionEvents.OnSessionStart(SessionStartEventArgs e) 在 WEX.TestExecution.DataCollectorTestMode.Initialize(ITestModeSettings settings, ICallbackRegistrar callbackRegistrar) 信息:此外,如果安装了测试发现器和执行器,您可以尝试指定“/UseVsixExtensions”命令在计算机上作为 vsix 扩展,并且您的安装支持 vsix 扩展。示例:vstest.console.exe myTests.dll /UseVsixExtensions:true VSTest 测试运行失败,退出代码:1

是的,一些测试正在使用 async/await。相同的 .runsettings 文件在 Visual Studio 2015 中工作正常。如果我按照建议操作并添加以下选项:/UseVsixExtensions:true,结果是相同的。我怎样才能解决这个问题?

code-coverage azure-devops

1
推荐指数
1
解决办法
2729
查看次数

GCOVR 在 MAC 中给出空结果百分之零

我的文件夹中有 .gcda 和 .gcno 文件,我从中运行以下命令。

$ gcovr -r .

结果如下 在此输入图像描述 如果我在 gcda 文件上运行 gcov,我会得到正确的覆盖率值。

macos code-coverage gcov gcovr

1
推荐指数
1
解决办法
2075
查看次数

Angular Cli - SyntaxError: 'import' 和 'export' 可能只与 'sourceType: module' 一起出现

我正在尝试使用 angular cli 生成覆盖率报告。但是我不断收到以下错误。我不太确定这是 cli 错误还是 Karma.conf 的问题?ng test/npm test运行良好... 所以与代码覆盖选项有关吗?

    Error: Module build failed: SyntaxError: 'import' and 'export' may appear only with 'sourceType: module' (3:0)
        at Parser.pp$5.raise (C:\Development\source\\node_modules\babylon\lib\index.js:4443:13)
        at Parser.pp$1.parseStatement (C:\Development\source\\node_modules\babylon\lib\index.js:1875:16)
        at Parser.parseStatement (C:\Development\source\\node_modules\babylon\lib\index.js:5795:22)
        at Parser.pp$1.parseBlockBody (C:\Development\source\\node_modules\babylon\lib\index.js:2262:21)
        at Parser.pp$1.parseTopLevel (C:\Development\source\\node_modules\babylon\lib\index.js:1772:8)
        at Parser.parse (C:\Development\source\\node_modules\babylon\lib\index.js:1667:17)
        at Object.parse (C:\Development\source\\node_modules\babylon\lib\index.js:7163:37)
        at Instrumenter.instrumentSync (C:\Development\source\\node_modules\istanbul-lib-instrument\dist\instrumenter.js:121:31)
        at Instrumenter.instrument (C:\Development\source\\node_modules\istanbul-lib-instrument\dist\instrumenter.js:176:32)
        at Object.module.exports (C:\Development\source\\node_modules\istanbul-instrumenter-loader\index.js:25:25),Module build failed: SyntaxError: 'import
    ' and 'export' may appear only with 'sourceType: module' (2:0)
        at Parser.pp$5.raise (C:\Development\source\\node_modules\babylon\lib\index.js:4443:13)
        at Parser.pp$1.parseStatement (C:\Development\source\\node_modules\babylon\lib\index.js:1875:16) …
Run Code Online (Sandbox Code Playgroud)

code-coverage typescript karma-jasmine angular-cli angular

1
推荐指数
1
解决办法
1011
查看次数

Python覆盖率:不包括文件

我使用unittest2覆盖其中还包含我的项目在虚拟环境中。

当我运行时coverage report -m,报告显示来自lib/python3.5/site-packages/ 的其他几个文件。

因为有几个文件要排除,每次我想运行测试并查看覆盖率报告时,尝试从命令行排除它们是很乏味的。这就是我选择依赖配置文件的原因。

文件说我应该在这样做.coveragerc文件。但是我看不到它。当我运行pip show coverage然后ls -a path_to_coverage_directory我看到config.py文件时。因此,通过查看选项在哪里--omit并将其更改为从测试和报告中排除了一个文件:

self._omit = None 
Run Code Online (Sandbox Code Playgroud)

到:

self._omit = ['/home/begueradj/development/app/lib/python3.5/site-packages/unittest2/case.py']
Run Code Online (Sandbox Code Playgroud)

我保存了配置文件并再次运行测试以及覆盖率报告:我看到这个文件没有被排除。

我错过了什么?你如何解决这个问题?

python unit-testing code-coverage config

1
推荐指数
1
解决办法
1983
查看次数

gitlab CI/CD 中的代码覆盖率

我曾经Docker-dind构建和测试我的 python 代码。我混淆了如何在gitlab-ci以下两个选项之间运行覆盖。

1) Gitlab 本身有覆盖范围[这里]

2)我遵循python的覆盖教程并使用以下内容创建自己的覆盖范围:

 coverage:
  stage: test
  script:
      - docker pull $CONTAINER_TEST_IMAGE
      - docker run $CONTAINER_TEST_IMAGE python -m coverage run tests/tests.py
      - docker run $CONTAINER_TEST_IMAGE python -m coverage report -m
Run Code Online (Sandbox Code Playgroud)

当 gitlab 抛出异常时No data to report.

在此处输入图片说明

我猜coverage report命令无法访问/查找.coverage容器中的文件。


所以我的问题是coverage在这种情况下运行的优雅方式是什么?

continuous-integration code-coverage gitlab docker gitlab-ci

1
推荐指数
1
解决办法
4458
查看次数

如何在 dotnet 测试中运行过滤器

我在 VSTS 中有一个构建,如下所示:

在此处输入图片说明

您可以从屏幕截图中看到“测试并生成代码覆盖率”的测试步骤。它使用这个命令:

/p:CollectCoverage=true /p:CoverletOutputFormat=cobertura /p:CoverletOutput=$(Build.SourcesDirectory)\TestResults\Coverage\coverage

这允许生成代码覆盖率报告。我已经使用我定义的特征(例如集成或单元)将“类别”添加到我的 xUnit 测试中,以允许我在构建/发布期间过滤测试。示例是:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using Xunit.Abstractions;
    using Xunit.Sdk;

    /// <summary>
    /// Decorates a test as a Unit Test, so that it runs in Continuous Integration builds.
    /// </summary>
    [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
    public sealed class IsUnitAttribute : AICategoryAttribute
    {
        /// <summary>
        /// Initializes a new instance of <see cref="IsUnitAttribute"/>
        /// </summary>
        public IsUnitAttribute() : base("Unit") { }
    }

    /// <summary>
    /// Decorates a test as an Integration Test, so …
Run Code Online (Sandbox Code Playgroud)

testing code-coverage xunit.net reportgenerator azure-pipelines-build-task

1
推荐指数
1
解决办法
6668
查看次数

Visual Studio 2017 社区版 - 缺少分析代码覆盖率选项?

目前我正在使用 Visual Studio 2017 社区版。以前我一直在使用 Visual Studio 2013 Ultimate,并且有一个选项可用于在下面生成代码覆盖率结果Test>Analyze Code Coverage>All Test

在 Visual 2017 Community Edition 中,没有可用于分析代码覆盖率的选项,该选项仅可用于Test>Windows>Code Coverage results.

如何在 Visual Studio 2017 社区中找到分析代码覆盖率

mstest code-coverage visual-studio visual-studio-2017

1
推荐指数
1
解决办法
2865
查看次数

在谷歌云构建期间将玩笑代码覆盖率结果上传到 codecov

我想弄清楚如何将我的笑话代码覆盖率报告上传到 codecov。从那里文档

bash <(curl -s https://codecov.io/bash) -t token
Run Code Online (Sandbox Code Playgroud)

所以我尝试从云构建步骤运行 bash 脚本,如下所示 cloudbuild.yaml

steps:
  - name: node:10.15.1
    entrypoint: npm
    args: ["install"]
  - name: node:10.15.1
    entrypoint: npm
    args: ["test", "--", "--coverage"]
  - name: 'gcr.io/cloud-builders/curl'
    entrypoint: bash
    args: ['<(curl -s https://codecov.io/bash)', '-t', '$_CODECOV_TOKEN']
  - name: node:10.15.1
    entrypoint: npm
    args: ["run", "build:production"]
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Step #2: bash: <(curl -s https://codecov.io/bash): No such file or directory
Run Code Online (Sandbox Code Playgroud)

显然是因为<(curl -s https://codecov.io/bash)在我希望它被执行时被解释为字符串。

编辑:

我已将构建步骤更改为以下内容:

  - name: "gcr.io/cloud-builders/curl"
    entrypoint: bash
    args: ["./scripts/codecov-upload.bash", "$_CODECOV_TOKEN"]
Run Code Online (Sandbox Code Playgroud)

并添加了一个文件 codecov-upload.bash

bash …
Run Code Online (Sandbox Code Playgroud)

yaml code-coverage docker jestjs google-cloud-build

1
推荐指数
1
解决办法
765
查看次数