最佳答案
我一直在阅读 Angular2的单元测试官方文档(https://angular.io/docs/ts/latest/guide/testing.html) ,但是我正在努力设置一个组件的输入字段值,使其反映在组件属性中(通过 ngModel 绑定)。屏幕在浏览器中工作良好,但在单元测试中,我似乎不能设置字段值。
我使用以下代码。当其他测试正常工作时,“ fixture”被正确初始化。“ comp”是我的组件的实例,输入字段通过 ngModel 绑定到“ user.username”。
it('should update model...', async(() => {
let field: HTMLInputElement = fixture.debugElement.query(By.css('#user')).nativeElement;
field.value = 'someValue'
field.dispatchEvent(new Event('input'));
fixture.detectChanges();
expect(field.textContent).toBe('someValue');
expect(comp.user.username).toBe('someValue');
}));
我的版本 Angular2: "@angular/core": "2.0.0"