AngularTS,订阅测试

时间:2018-08-20 14:21:06

标签: angular typescript

我想知道如何在if语句中更改和测试从订阅返回的值。

使用一种预订数据服务的方法,如下所示:

    this.service.returnResponse().subscribe((value) => {
        if (value !== null) {
            ....test in here
        }
    });

测试中的数据将返回null,我想将返回的值更改为我设置的参数,例如:

   it('should query data service and subscribe to response TRUE ()', () => {
      const response: string[] = ['NOT-NULL'];

      service.returnEndResponseMS().subscribe(value => {
         value ==..andReturn(response)

      });

      component.subscribeToConnection();
      fixture.detectChanges();
   });

我们如何更改预订的返回值以测试内部条件块?

1 个答案:

答案 0 :(得分:0)

简单的解决方案:

  it('should query data service and subscribe to response TRUE ()', () => {

    const response: string[] = ['NOT-NULL'];
    spyOn(service, 'returnResponse').and.returnValue(of(response));

    service.returnResponse).subscribe(value => {
      expect(something to be equal to something);
      expect(something to be called);

    });

    component.subscribeToConnection();
    fixture.detectChanges();
  });