Angular 角度2测试:从ngModel获取值
我正在尝试编写一个测试,对Angular的Angular 角度2测试:从ngModel获取值,angular,angular4,Angular,Angular4,我正在尝试编写一个测试,对Angular的ngModel属性进行断言。在这一点上,我可以很容易地测试标签。但是,我无法从ngModel 问题从ngModel获取值的最佳方法是什么 HTML: <div name="customerName"> <label>Customer Name: </label> <div> <input type="text" class="form-control" [ngModel
ngModel
属性进行断言。在这一点上,我可以很容易地测试标签。但是,我无法从ngModel
问题从ngModel
获取值的最佳方法是什么
HTML:
<div name="customerName">
<label>Customer Name: </label>
<div>
<input type="text" class="form-control" [ngModel]="customer.name" asInline disabled />
</div>
</div>
将
async
与whenStable一起使用
it('should recognize a timepicker', async(() => {
fixture = TestBed.createComponent(ExampleComponent);
fixture.detectChanges();
fixture.whenStable().then(() => {
expect(fixture.debugElement.nativeElement.querySelector('[name=customerName] label').textContent).toEqual('Customer Name: ');
expect(fixture.debugElement.nativeElement.querySelector('[name=customerName] div input').value).toEqual('Bobby Tables');
});
}));
或带有勾号的伪异步:
it('should recognize a timepicker', fakeAsync(() => {
fixture = TestBed.createComponent(ExampleComponent);
fixture.detectChanges();
tick();
expect(fixture.debugElement.nativeElement.querySelector('[name=customerName] label').textContent).toEqual('Customer Name: ');
expect(fixture.debugElement.nativeElement.querySelector('[name=customerName] div input').value).toEqual('Bobby Tables');
}));
别忘了导入FormsModule
:
TestBed.configureTestingModule({
imports: [FormsModule],
...
你有什么错误?谢谢你的回复。不幸的是,这并不能解决我的问题。
.value
返回一个空字符串。如果我在[name=customerName]div输入
级别记录它,我会得到
。我已经验证了,我的组件有正确的数据。还有其他想法吗?我已经开始工作了,需要在每次之前将导入:[FormsModule]
添加到我的中
谢谢!
TestBed.configureTestingModule({
imports: [FormsModule],
...