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; }

相关内容

热门资讯

透视软件!wepokerplu... 透视软件!wepokerplus脚本,wepoker脚本(透视)攻略教程(有挂方法);暗藏猫腻,小编...
透视教程!wepoker轻量版... 透视教程!wepoker轻量版辅助,wepoker怎么拿到好牌(透视)透视教程(有挂辅助)一、wep...
透视插件!wepoker买钻石... 透视插件!wepoker买钻石有用吗,wepoker线上大神(透视)专业教程(有挂介绍)1、下载好w...
透视教程!wepoker开脚本... 透视教程!wepoker开脚本视频,wepoker插件程序激活码(透视)wepoke教程(有挂介绍)...
透视好友房!wepoker透视... 透视好友房!wepoker透视底牌脚本,wepoker有透视吗(透视)线上教程(有挂揭秘)一、wep...
透视透视!wepoker科技辅... 透视透视!wepoker科技辅助器,wepoker有用吗(透视)攻略方法(有挂脚本);所有人都在同一...
透视安装!wepoker私人局... 透视安装!wepoker私人局辅助挂,wepoker透视脚本苹果版(透视)wpk教程(有挂解说)1、...
透视工具!wepoker辅助软... 透视工具!wepoker辅助软件价格,wepoker轻量版透视系统(透视)透视教程(有挂揭秘)1、游...
透视肯定!wepoker有插件... 透视肯定!wepoker有插件吗,wepoker有辅助吗(透视)AI教程(有挂黑科技);1、wepo...
透视规律!wepoker怎么获... 透视规律!wepoker怎么获得好牌,wepoker怎么发冤家牌(透视)AI教程(有挂攻略)wepo...