嗨,我正在用茉莉花编写单元测试用例。我是茉莉的新手。我在html中有一种表单,我正在为此编写单元测试用例。
下面是我的表单html代码。
<form *ngIf="formResetToggle" class="form-horizontal" name="tenantEditorForm" #f="ngForm" novalidate
(ngSubmit)="f.form.valid ? saveTenant() :
(!tenantname.valid && showErrorAlert('Tenant name is required', 'Please enter a name for the tenant'));">
</form>
以下是规格。
it('Save Tenant', fakeAsync(() => {
fixture.detectChanges();
spyOn(component, 'saveTenant');
let submitButton = fixture.debugElement.query(By.css('#saveTenant'));
submitButton.triggerEventHandler('click', null);
tick();
fixture.detectChanges();
expect(component.saveTenant).toHaveBeenCalled();
}));
此规范给我错误
预期已调用间谍saveTenant。
有人可以帮我解决问题吗?任何帮助,将不胜感激。谢谢
答案 0 :(得分:1)
这里的主要问题是由于debugElement.triggerEventHandler
方法触发了要在debugElement
上提交事件时在 current form
上注册的事件处理程序。
在这种情况下,我建议您改用原生点击事件。
submitButton.nativeElement.click();
另请参阅: