Angular单元测试中,changeDetection()方法执行后,输入值未发生变化。
创始人
2024-10-23 22:30:39
0

1.在测试文件中引入ChangeDetectorRef:

import { Component, ChangeDetectorRef } from '@angular/core'; import { ComponentFixture, TestBed } from '@angular/core/testing';

2.对于每个测试用例,在BeforeEach块中创建一个新的实例,并使用changeDectectorRef的detectChanges方法手动调用变更检测:

describe('MyComponent', () => { let component: MyComponent; let fixture: ComponentFixture; let changeDetectorRef: ChangeDetectorRef;

beforeEach(async () => { await TestBed.configureTestingModule({ declarations: [ MyComponent ] }) .compileComponents(); });

beforeEach(() => { fixture = TestBed.createComponent(MyComponent); component = fixture.componentInstance; changeDetectorRef = fixture.debugElement.injector.get(ChangeDetectorRef); fixture.detectChanges(); });

it('should update input value', () => { component.myInputValue = 'new value'; changeDetectorRef.detectChanges(); expect(component.myInputValue).toEqual('new value'); }); });

3.确保对应的组件输入属性有输入绑定:

@Component({ template: }) export class MyComponent { @Input() myInputValue: string; }

相关内容

热门资讯

第8分钟辅助!微信蜀山四川修改... >>您好:微信蜀山四川修改器确实是有挂的,很多玩家在这款微信蜀山四川修改器游戏中打牌都会发现很多用户...
第三分钟辅助!开心泉州小程序辅... 第三分钟辅助!开心泉州小程序辅助免费下载,微信小程序大贰辅助工具(透视科技开挂辅助插件);1、完成开...
第十分钟辅助!川娱竞技血战辅助... >>您好:川娱竞技血战辅助确实是有挂的,很多玩家在这款川娱竞技血战辅助游戏中打牌都会发现很多用户的牌...
一分钟辅助!德州透视竞技联盟,... 一分钟辅助!德州透视竞技联盟,hhpoker是正规平台吗(透视线上开挂辅助脚本);1、超多福利:超高...
第8分钟透视!乐胡摆叫有没有黑... 第8分钟透视!乐胡摆叫有没有黑科技,hhpoker真的假的(玩家必看科普开挂辅助软件)乐胡摆叫有没有...
第3分钟辅助!闲来辅助软件靠谱... 第3分钟辅助!闲来辅助软件靠谱吗,随意玩工具箱辅助器(透视系统开挂辅助软件);闲来辅助软件靠谱吗软件...
8分钟辅助!雀神广东麻将提高胜... 8分钟辅助!雀神广东麻将提高胜率,花花生活圈怎么装开挂(最新技巧开挂辅助安装);亲,雀神广东麻将提高...
第八分钟辅助!小唐家乐园辅助器... 第八分钟辅助!小唐家乐园辅助器,聚友联盟(我来教大家开挂辅助工具);是一款可以让一直输的玩家,快速成...
十分钟开挂!荣耀拼三张辅助,w... 十分钟开挂!荣耀拼三张辅助,wepoker黑侠辅助器正版下载(透视科技开挂辅助脚本);荣耀拼三张辅助...
第1分钟辅助!贪吃蛇辅助器20... 第1分钟辅助!贪吃蛇辅助器2022,闲聚鱼虾蟹软件脚本(透视app开挂辅助安装);1、不需要AI权限...