gpt4 book ai didi

Angular[karma] Observable 异步测试

转载 作者:搜寻专家 更新时间:2023-10-30 21:45:49 25 4
gpt4 key购买 nike

我尝试测试一个异步案例。我的组件:

  ngOnInit(private service: MyService) {
this.isLoading = true;
this.service.getData().subscribe((data) => {
this.data = data;
this.isLoading = false;
});
}

如您所见,我将 loading 设置为 true,当检查数据时 isLoading 变为 false。这就是我要测试的。我试过 tick(), whenStable ...我侦测 MyService 返回一个带有 mockData 的 Observable,但我无法捕捉到 isLoading 为真。

感谢您的帮助。

最佳答案

it('should ...', done => {
const dataMock = {};
spyOn(component['service'], 'getData').and.returnValue(of(dataMock);
component['service'].getData().pipe(delay(500)).subscribe(data => {
expect(component.data).toBe(dataMock));
expect(component.isLoading).toBeFalsy();
done();
});

expect(component.isLoading).toBeTruthy();
});

关于Angular[karma] Observable 异步测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55218092/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com