kar*_*sys 2 html unit-testing typescript angular
我正在为角度应用程序运行单元测试,我想通过单元测试设置此输入元素的文本内容。我正在使用茉莉花
<input type="text" id="accountid" class="form-control col-sm-3" [(ngModel)]="record.accountid" name="accountid" required>
Run Code Online (Sandbox Code Playgroud)
我尝试过,但它不起作用
let formData = fixture.debugElement.query(By.css('#accountid'));
formData.nativeElement.value = 22;
fixture.detectChanges();
console.log(formData.nativeElement.textContent);//expected to print 22
expect(formData.nativeElement.textContent).toBe(22);//fails
Run Code Online (Sandbox Code Playgroud)
您必须input在设置事件的值后调度该事件:
let formData = fixture.debugElement.query(By.css('#accountid'));
formData.nativeElement.value = 22;
formData.nativeElement.dispatchEvent(new Event('input'));
expect(formData.nativeElement.value).toBe(22);
Run Code Online (Sandbox Code Playgroud)