2017-08-07 166 views
0

Angular Experts,Angular 2 http stub

我正在測試我的應用程序,我正在做一些測試。

具體而言,我想通過模擬Http對象來單元測試與真實服務的組件。現在我正在嘗試自己存根對象,所以我在下面創建了StubHttp類。

角2:verson 2.4.7 +噶瑪,茉莉。

,這是它的簡化版本:

let mockTest = '{"name":'John', // ...}; 

export class StubHttp { 
    public post(url: string, body: any, options?: RequestOptionsArgs) 
      :Observable<Response> { 
    let response = new ResponseOptions({body: JSON.stringify(mockTest)}); 
    return Observable.of(new Response(response)); 
    } 
} 

如果我把一個日誌在我的控制器:

this.UsersService.getAll().subscribe((data: any) => { 
    console.log('data = ', data); 
}); 

和服務:

getAll(event: LazyLoadEvent) { 
    return this.http.post(this.url + this.params, JSON.stringify(this.body),new RequestOptions({headers: this.header})) 
     .map(response => response.json()) 
     .catch(this.handleError); 
} 

這是輸出:

LOG: 'data = ', Promise{} 

哪裏出錯?

+0

在您的存根實現我只看到帖子,但在你表現出對你的控制器的例子,你調用一個名爲GETALL()方法。 getAll()是否執行HTTP POST或GET? –

+0

對不起!發佈更新。 – Kasper

回答