小编use*_*632的帖子

Angular2单元测试的Observable.interval

我有一项服务,每500毫秒从服务器轮询一次数据。为此,我用了Observable.interval()

下面是我的代码。我想为此服务编写单元测试

service.ts:

pollData() {
       Observable.interval(500).mergeMap(() =>
       this._http
      .get(url, { headers: headers })
      .map((resp: Response) => resp.json())
});
Run Code Online (Sandbox Code Playgroud)

服务规格:

it('should get the response correctly', async(inject(
  [SomeService, MockBackend], (service, mockBackend) => {
    mockBackend.connections.subscribe((connection: MockConnection) => {
      connection.mockRespond(new Response(new ResponseOptions({ body: 
      mockResponse})));
   });
    const result = service.pollData();

    result.subscribe(response => {
       expect(response).toEqual(mockResponse);
    });
  }
)));
Run Code Online (Sandbox Code Playgroud)

在执行ng测试时出现错误:

错误:超时-jasmine.DEFAULT_TIMEOUT_INTERVAL指定的超时内未调用异步回调。

unit-testing karma-runner angular

1
推荐指数
1
解决办法
1956
查看次数

标签 统计

angular ×1

karma-runner ×1

unit-testing ×1