我只是想做这项工作。
it('should have expected <h1> text', async(() => {
let fixture = TestBed.createComponent(AppComponent);
fixture.detectChanges();
const sectionEl = fixture.debugElement.query(By.css("section"));
spyOn(fixture.debugElement.componentInstance, "runMe");
sectionEl.nativeElement.click();
expect(fixture.debugElement.componentInstance.runMe).toHaveBeenCalled();
expect(sectionEl.nativeElement.textContent).toBe("changed!");
因此,runMe
函数未更改该部分的文本,但调用了间谍节目runMe
。
答案 0 :(得分:0)
很难说没有看到更完整的例子。但是通过点击东西,它通常涉及异步事件处理。因此,我们需要等待事件处理完成。在测试中,我们如何做到这一点是通过调用AcceptedOn
来返回一个promise。我们可以在承诺解决时继续进行测试。
fixture.whenStable