如何模拟Observable返回角度服务?

时间:2019-11-29 07:56:23

标签: angular observable karma-runner

this.variable = this.service.getMydata();

上面的服务返回Observable,对于我订阅的变量,如下所示。

this.variable.subscribe(data => { My logic here});

在角度6中如何对此进行正确的单元测试?

2 个答案:

答案 0 :(得分:1)

尝试一下:

const mockResponse = {
  // ...
};

spyOn(service, 'getMydata').and.returnValue(of(mockResponse));

答案 1 :(得分:0)

模拟服务和返回可观察值的方法

    const mockService = {
       getMydata: {
          return of(<Response>)
       }
    }

   TestBed.configureTestingModule({
       declarations: [...],
       providers: [{provide: Service, useValue: mockService}]
   })