CLI 可以运行单元测试并创建代码覆盖率报告。代码覆盖率报告会向你展示代码库中可能无法通过单元测试进行正确测试的任意部位。
如果你要试验本指南中所讲的应用,请在浏览器中运行它或下载并在本地运行它。
要生成覆盖率报告,请在项目的根目录下运行以下命令。
ng test --no-watch --code-coverage
测试完成后,该命令会在项目中创建一个 /coverage
目录。打开 index.html
文件,可以查看带有源代码和代码覆盖率值的报表。
如果要在每次测试时都创建代码覆盖率报告,可以在 CLI 配置文件 angular.json
中设置以下选项:
"test": {
"options": {
"codeCoverage": true
}
}
代码覆盖率可以让你估算出你的代码测试了多少。如果你的团队确定要设置单元测试的最小覆盖率,可以使用 Angular CLI 来强制实施这个最低要求。
比如,假设你希望代码库的代码覆盖率至少达到 80%。要启用此功能,请打开 Karma 测试平台的配置文件 karma.conf.js
,并在 coverageReporter:
键下添加 check
属性。
coverageReporter: {
dir: require("path").join(__dirname, "./coverage/<project-name>"),
subdir: ".",
reporters: [
{ type: "html" },
{ type: "text-summary" }
],
check: {
global: {
statements: 80,
branches: 80,
functions: 80,
lines: 80
}
}
}
check
属性会让该工具在项目中运行单元测试时强制要求至少 80%的代码覆盖率。
可以在此处找到关于其它覆盖率配置项的更多信息。
前提条件对下列概念有基本的理解:Angular动画简介转场与触发器可复用动画路由能让用户在应用中的不同路由之间导航。当用户从一...
持续更新你的Angular项目就像Web及其整个生态系统一样,Angular也在持续改进中。Angular平衡了持续改进与强调稳定性之间的冲突,...
AngularJS ng-init 指令 AngularJS 参考手册AngularJS 实例初始化应用时创建一个变量:div ng-app="" ng-init="myText='Hello...
AngularJS ng-readonly 指令 AngularJS 参考手册AngularJS 实例设置输入框为只读:Readonly: input type="checkbox" ng-model="al...
本节为你介绍Node.jsQueryStrings。稳定性: 3 - 稳定该Node.js模块提供了一些处理query strings的工具,你可以通过以下方式访问...
TypeScript 算术运算符示例假设变量a和b中的值分别为10和5。运算符描述示例+(加法)返回操作数的总和a + b = 15-(减法)返回值...
TypeScript Number方法 toFixed()toFixed()方法格式化一个小数点右侧具有特定位数的数字。语法number.toFixed( [digits] )参数详...
决策结构要求程序员指定由程序进行评估或测试的一个或多个条件,以及在条件被确定为true时要执行的一个或多个语句,以及如果条件...
JavaScript 全局JavaScript 全局属性和方法可用于创建Javascript对象。JavaScript 全局属性属性描述Infinity代表正的无穷大的数...