Angular Jest测试异步代码不异步

时间:2020-09-22 20:43:09

标签: angular

这是组件上的方法

public onClick(event: any): void {
    this.isLoading = true;
    this.service.getSomething().subscribe( ("foo") => {
      this.isLoading = false;
    })
}

然后进行测试

it('test', fakeAsync(()=> {
  component.onClick()
  expect(component.isLoading).toBe(true);
  tick()
  expect(component.isLoading).toBe(false);
}))

无法说isLoading为false。调试显示代码已按顺序执行,这意味着在执行预订的内部之后,会在 代码之后返回控件。

1 个答案:

答案 0 :(得分:0)

似乎Observable.of本身并不异步。您必须使其异步