Jasmine 测试http请求URL的正确方法';s在角2中

Jasmine 测试http请求URL的正确方法';s在角2中,jasmine,angular,angular2-services,Jasmine,Angular,Angular2 Services,我使用Angular 2设置了一些服务,其中的每个方法都返回不同的http请求,如下所示: public create(user:User): Observable<any> { return this.http.post(this._apiUrls.create, JSON.stringify(user), { headers: this.apiConfig.getApiHeaders() }); } 知道如何获取请求类型吗?还是我只是做错了 您可

我使用Angular 2设置了一些服务,其中的每个方法都返回不同的http请求,如下所示:

public create(user:User): Observable<any> {
  return this.http.post(this._apiUrls.create,
    JSON.stringify(user), {
      headers: this.apiConfig.getApiHeaders()
    });
}

知道如何获取请求类型吗?还是我只是做错了

您可以使用
request
对象调用
http.request
,而不是调用
http.get
http.post
。类API是。第一个成员是枚举类型的值,因此您应该能够在Jasmine中测试它

目前(beta.3版)没有简单的方法来测试这一点(如AngularJS 1.x中的
expectGET
),但您已经走上了正确的道路

你可以做:

service.create(setUser()).subscribe((res) => {
  expect(res.request.method).toBe(RequestMethod.Post);
});

我不久前打开了一个问题,希望有一个更好的API用于测试,您可以

这似乎对rc1无效
service.create(setUser()).subscribe((res) => {
  expect(res.request.method).toBe(RequestMethod.Post);
});