angularjs - 是否可以使用 angular-cli `ng test` 运行 angularJS 单元测试?
问题描述
我在一个 AngularJS 1.6.X ES6 应用程序上工作。我使用 Mocha 和 Sinon 在其上编写和运行单元测试。
我开始使用 ngUpgrade 混合/升级此应用程序,以便以角度编写新组件。所以现在,我得到了一些 angularJS 模块和一些 angular 模块。我使用@angular-builders/custom-webpack
withbabel-loader
并ng-annotate-loader
正确加载 AngularJS 模块。
我想在运行新 Angular 模块的单元测试的同时运行 AngularJS 模块的现有单元测试。理想情况下,我还希望有一个 AngularJS 和 Angular 模块的通用代码覆盖率报告。
是否可以使用 angular-cli 来做到这一点ng test
?您推荐哪种 Karma 配置?
解决方案
是否可以通过 angular-cling 测试来做到这一点?
是的,我想是这样。如果您运行的是 Angular 6 或更高版本,但我自己没有尝试过。
Angular CLI 引入了一种叫做“builders”的东西,它允许你用你自己的功能替换核心 CLI 命令。
https://medium.com/dailyjs/angular-cli-6-under-the-hood-builders-demystified-f0690ebcf01
基本上,您可以定义自己的ng run <target>
目标,这些目标与npm run <script>
. 这些目标在您的angular.json
文件中定义并编码在 JavaScript 文件中。然后,您可以将内置目标映射ng test
到自定义目标以替换内置目标。
上面的文章给出了一个ng test
用自定义测试器替换的例子。
推荐阅读
- postgresql - 在 psql 中使用 \set 设置变量
- rest - 如何将两个授权标头传递给 curl POST 请求
- python - 处理分类中罕见因子水平的一般策略?
- python - Keras 损失函数值不会减少
- javascript - 向目录中的链接添加一个字符
- google-app-engine - Google 对“Google API”的含义是什么?App Engine 端点(例如 xxx.appspot.com)是 Google API 吗?
- javascript - 在 socket.io 中每秒发射一次不起作用
- php - PHP复选框从文件夹中删除文件
- java - 尝试使用 forge 修改 minecraft 1.12.2 的问题。无法打包和测试构建
- r - 如何强制以“:”分隔的一系列数字到该范围内的数字列表中?