Angular-cli 测试覆盖所有文件

2024-02-03

我正在运行以下命令来进行单元测试并生成代码代码覆盖率报告。

ng test --code-coverage

它正在覆盖率文件夹中写入代码覆盖率报告。

我需要查看整个项目的覆盖范围,而不仅仅是进行测试的文件。

karma.conf.js

module.exports = function (config) {
  config.set({
    basePath: '',
    frameworks: ['jasmine', 'angular-cli'],
    plugins: [
      require('karma-jasmine'),
      require('karma-jasmine-html-reporter'),
      require('karma-chrome-launcher'),
      require('karma-remap-istanbul'),
      require('angular-cli/plugins/karma'),
      require('karma-coverage'),
      require('karma-sourcemap-loader')

    ],
    files: [
      { pattern: './src/test.ts', watched: false }
    ],
    preprocessors: {
      './src/test.ts': ['angular-cli']
    },
    mime: {
      'text/x-typescript': ['ts','tsx']
    },
    remapIstanbulReporter: {
        reports: {
          html: 'coverage',
        lcovonly: './coverage/coverage.lcov'
      }
    },
    angularCli: {
      config: './angular-cli.json',
      environment: 'dev'
    },
    reporters: config.angularCli && config.angularCli.codeCoverage
              ? ['progress', 'karma-remap-istanbul']
              : ['progress', 'kjhtml'],
    coverageReporter: {
      includeAllSources: true
    },
    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
    autoWatch: true,
    browsers: ['Chrome'],
    singleRun: false
  });
};

我遇到了同样的问题,我找到了一个简单的解决方法,无需任何大的配置即可解决我的问题。

  1. 在您的应用程序文件夹中,创建一个文件 app.module.spec.ts
  2. 在此文件中添加导入到您的应用程序模块。

import './app.module';

就是这样 ;)

关键是,您的应用程序模块很可能是应用程序的核心部分,它直接或间接导入任何其他使用的文件。现在您已经创建了规范文件,模块包含的所有内容也应该包含在测试覆盖率报告中。

我不确定这是否适用于延迟加载的模块。如果没有,您也可以简单地在 app.module.spec.ts 中导入这些延迟加载的模块,或者为每个模块创建一个规范文件,在其中导入模块。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angular-cli 测试覆盖所有文件 的相关文章

随机推荐

  • 创建自定义错误消息 MySQL

    在 MySQL 中 如何为此错误消息创建自定义消息 无法删除或更新父行 外键约束失败 database jenis fasum 约束jenis fasum ibfk 1外键 id kategori 参考kategori fasum id k
  • 无法使用 OpenCV 保存图像

    我试图保存视频文件中的图像 但它无法在我的硬盘驱动器中保存任何图像 我编译了以下程序 没有错误 include
  • UIScrollView 滚动事件阻止 UIView 动画

    我有一组 UIImageView 的动画 它们代表当前值并不断向上滴答作响 理想情况下永远不会停止 视图中也是一个滚动视图或滚动视图 每当我滚动或缩放滚动视图时 动画都会停止 并且当scrollView完全停止移动时再次启动 我相信这是由于
  • 如何在控制台应用程序中隐藏输出(而不是窗口)?

    好吧 让我再澄清一下 我有一个包含许多类的控制台应用程序 每个类中至少有一个 Console WriteLine text 行 我定义了一些参数 当运行应用程序时 它输出的正是我在类中编写的内容 在那里 我想定义一个参数 当我使用该参数运行
  • 有没有一种简单的方法可以通过 boto3 重命名 s3 文件夹?

    我有带文件夹的 s3 存储桶 文件夹内有大文件 我想用 python3 boto3 脚本重命名该文件夹 I read this https adamtheautomator com rename amazon s3 folder pytho
  • 如何使用输出参数调用 .net 方法?

    我只想打电话给生成脚本的方法Microsoft Data Schema ScriptDom Sql Sql100ScriptGenerator http msdn microsoft com en us library dd195523 a
  • Angular 2:在本地 .json 文件中找不到文件

    我看过一些不同的帖子 内容是无法找到本地文件来打开它们 无论它们是图像还是数据文件 但没有一个解决方案对我有用 我的猜测是我缺少一些配置 我正在查找的文件位于名为 data 的文件夹中 与我的 app html 和 app ts 文件位于同
  • 在 VS2012 中使用 'volatile' 关键字的最佳实践

    自从将我们的开发和构建环境从 VS2008 升级到 VS2012 以来 我对使用volatile我们的遗留代码库中的关键字 它非常广泛 因为有很多复制的模式用于管理 旧 时代的线程 微软在VS2012文档中有如下备注 如果您熟悉 C vol
  • 编译错误:只有在公共对象模块中定义的用户定义类型可以强制转换为变体或从变体强制转换或传递给后期绑定函数

    我正在努力学习一些 VBa 和 Excel 我需要在 VBa 中创建一个结构 它是Type 我遇到的问题是 当我尝试执行代码时收到一条错误消息 我觉得我需要解释一下我是如何到达现在的位置的 以防我犯了错误 我读过要创建一个类型 它需要公开
  • lang=unknown 属性有效吗?

    给定一个特定语言 英语 的 HTML 文档 我在标签上定义了一个 lang 属性 页面中的某些文本是用另一种语言编写的 例如法语 span blabla span 但是 如果我无法识别语言 但我知道它不是英语 我可以将 未知 设置为 lan
  • 从已安装的 rpm 重新打包 rpm

    在 Linux 上我们可以重新打包已安装的 rpm 如果可以的话如何 我记得可以从已安装的二进制文件生成 rpm rpm gt my rpm 另外 即较新的 rpm 应该在不同的机器上工作 还有rpmrebuildhttp rpmrebui
  • C++ 的 OpenGL 实现列表

    我只是将我的项目从 Visual Studio 迁移到 Eclipse 这样我就可以为 Linux 构建它们 但我遇到了 OpenGL 库文件的问题 Visual Studio 附带了 Microsoft 的库和头文件 用于在项目中包含 O
  • SQL - 多个条件where子句同一列

    我有一个看起来有点像这样的数据集 Subject ID Diagnosis ID 001 299 001 288 001 233 001 299 002 299 002 233 003 238 004 299 004 233 我想创建一个新
  • Vagrant::Errors::NetworkCollision:指定的主机网络与非主机网络发生冲突

    我在多台机器上使用 vagrant 它曾经正常工作 但后来它就不再工作了 我在 Vagrantfile 中定义网络的部分 config vm define app do layer layer vm provision chef solo
  • 在运行时将数据分配给四维数组

    我有一个四维数组 其中有一组静态值 但我的问题是我想从 api 获取一些数据并且必须将其放入四维数组中运行时期间 我不知道该怎么做 任何最轻微的想法将不胜感激 这是我的示例 显示了我的四维数组的静态定义 static final Strin
  • Allure报告:Chrome中没有显示任何内容

    我正在尝试使用Allure框架 https github com allure framework allure core为我生成一份报告硒网络驱动程序 http docs seleniumhq org projects webdriver
  • 重新启用 iPhone 模拟器位置服务

    我在模拟器上禁用了位置服务 并设置了 不再询问 选项 以为我可以稍后重新启用它 但现在我不知道如何操作 有人可以指出我在哪里更改此设置吗 Thanks 解决方案 系统偏好设置 gt 安全 gt 按钮 重置警告 您可能需要先单击左下角的锁 然
  • 在android中实现带有分区分隔符的列表

    嗨 我如何实现一个带有部分分隔符的列表 就像android上的那样构建块列表 http developer android com design building blocks lists html 您能指出任何文章或教程来实现这一目标吗
  • git克隆https/ssl错误[重复]

    这个问题在这里已经有答案了 我已经在我的 git 服务器中安装了 ssl 证书和密钥 但是当我尝试从 mysysgit 通过 https 克隆时出现错误 早些时候 它在 http 上工作得很好 无法确定问题出在哪里 git clone ht
  • Angular-cli 测试覆盖所有文件

    我正在运行以下命令来进行单元测试并生成代码代码覆盖率报告 ng test code coverage 它正在覆盖率文件夹中写入代码覆盖率报告 我需要查看整个项目的覆盖范围 而不仅仅是进行测试的文件 karma conf js module