angular-cli - 为什么 Angular CLI@7.3.9 在创建库组件时不会用新的测试目标更新 angular.json
问题描述
创建新组件时的预期行为是使用angular-cli
描述angular.json.projects
新创建组件的条目进行更新。观察到的行为是angular-cli
不这样做的。
ng test newComponent
我在运行并收到消息后发现了这一点Project 'inline' does not support the 'test' target.
ng test newComponent
我更新后的工作angular.json.projects
来描述新创建的组件。
我正在将 Angular 2 组件库迁移到新的 Angular 7 Workspace 模型。我正在使用 Todd Palmer 的The Angular Library Series - Creating a Library with Angular CLI recipe从头开始构建它。
尽管该配方不建议测试新创建的组件,但我确实并观察到了此处描述的故障。
重现步骤
- 使用 angular-cli@7.3.9 创建库工作区
ng new workspace --create-application=false
- 创建库
ng generate library library --prefix=abc
- 创建一个测试应用,我称之为生活方式指南
ng generate application living-style-guide
- 创建一个新的库组件
ng generate component newComponent —project=library
- 验证组件创建
ng test newComponent —project=library
观察到的行为 最后一个命令失败并显示以下消息
Project 'newComponent' does not support the 'test' target.
Error: Project 'newComponent' does not support the 'test' target.
at TestCommand.initialize (./node_modules/@angular/cli/models/architect-command.js:53:19)
at process._tickCallback (internal/process/next_tick.js:68:7)
at Function.Module.runMain (internal/modules/cjs/loader.js:757:11)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)
预期行为 angular-cli 使用新创建的库组件的描述更新 angular.json 项目对象,并且它们的单元测试通过。
解决方案
与 angular-cli 的 Alan Agius 讨论了这个问题。Alan 向我解释说,ng test <target>
它仅适用于projects
,而不适用于库组件;他建议我关注他们的问题# 3603。
我结束了我给 Alan 的最后一封电子邮件,提醒他一个开发人员拥有一个包含大量组件的库,正在开发一个新组件,并希望以开发中的组件为目标进行测试,应该能够通过一个简单的ng
命令来完成.
推荐阅读
- javascript - 如何从 node.js 中的 GET 请求中获取值并在 POST 请求中使用它
- .net-core - Serilog Cloudwatch 日志记录未丰富日志
- python - 遍历字典内的列表
- python - TypeError:只能将元组(不是“列表”)连接到项目路由器规划器项目的元组
- amazon-s3 - 如何在我的笔记本电脑上的 URL https://s3.ap-southeast-2.amazonaws.com/snowflake-essentials 中的 S3 存储桶中加载原始 csv 文件
- r - 使用ggplot制作直方图时出错:eval中的错误(lhs,parent,parent)
- html - HTML 中的名称、id、aria、角色属性
- bash - Bash:覆盖不同环境中的行为差异
- javascript - 全高英雄背景图像在移动滚动上调整大小
- assembly - 用汇编语言“显示”换行符或回车符