在测试时使用 overrideComponent 会破坏代码覆盖率,如果使用 aot: true
QQ 命令
测试
这是倒退吗?
- [ 是的,这个行为在上一个版本中是有效的
QQ 此错误不存在的上一个版本是
无回复( N)
说明
在使用 " TestBed.override Conferent " 来固定一个儿童部件时,测试码覆盖不再准确
最小复制
生成新应用程序, 并添加一个组件 :
npx@angular/[email protected] 新的aot-coverage -- defaults -- no-route
cd 占地面积
ng g c 用户在 app.html 中使用应用用户 : 时间轴 :
你好,覆盖范围
< app- user > / app- user > ```编辑 angular.json 添加"aot":在测试部分中为真并运行:
ng 测试 -- -- 无监视 -- -- 编码覆盖覆盖率为100%
说明:100%(12/12)
部门:100%(11/11)
职能:100%(3/3)
行:100%(6/6)现在,在app.spec.ts中,在“每个”之前加上:
TestBed.override 组件( App, {) 删除 :{ 进口: [用户], {\fn华文楷体\fs16\1cHE0E0E0} 添加:{ 进口: [用户], {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
- ;
(这当然是用一个适当的根来发生,但甚至移除进口,并添加回来的作品来复制这个问题).
再次运行测试 :
ng 测试 -- -- 无监视 -- -- 编码覆盖
现在覆盖面不准确,因为模板没有适当覆盖:说明:58.33%(7/12) 部门:90.9%(10/11) 职能:66.66%(2/3) 线路:66.66%(4/6)
例外或错误
页:1
您的环境
页:1 角CLI: 20.0.0-后6 节点: 22.14.0 软件包管理器: npm 10.9.0 操作系统:Darwin arm64
角: 20.0.0-后7 ... 常见、 编译器、 编译器- cli、 核心、 形式 ...平台浏览器、路由器
软件包版本
@angular-devkit/architect 0.2000.0-next.6. @angular-devkit/core 20.0.0-next.6. 请检查url=值 (帮助). @angular-devkit/ schematics 20.0.0-next. 6 (中文(简体) ). @angular/building 20.0.0-next. @angular/cli 20.0.0-next. @schematics/angular 20.0.0-next. rxjs 7.8.2 (韩语). TypeScript 5.8.3 冲锋枪 0.15.0区
还有什么关系吗?
无回复( N)内容来源: angular/angular-cli