针对正在运行的后端测试角度http服务调用

时间:2018-01-20 10:42:06

标签: angular protractor karma-runner angular-cli angular-services

我需要测试我的角度服务 - 尤其是http调用 - 针对正在运行的后端(不会嘲笑后端)。

我不需要真正的端到端测试:(UI - > backend);仅限我的http服务调用后端:(ng http services - > backend)

我先尝试过Karma,但目前无法指定 代理配置(例如ng test --ssl --proxy-config proxy.conf.json)我很快遇到了CORS问题。更改后端URL也非常困难:我必须实现一个拦截器才能更改URL。

然后我尝试使用ng e2e测试,但遇到了以下错误:

[11:21:06] E/launcher - Error: ReferenceError: Zone is not defined

我的测试如下:

  it('should call API', inject([FunctionnService], (service: FunctionnService) => {
    service.findFunctionns().subscribe({
      next: value => console.log(value),
      error: err => console.log(err),
      complete: () => console.log('complete')
    });
  //No assertions for the time being
  }));

这是受测试的服务:

@Injectable()
export class FunctionnService {

  constructor(private http: HttpClient, @Inject(URLs) private urls: UrlsApi) {
  }

  findFunctionns(): Observable<Functionn[]> {
    return this.http.get<{ functionns: Functionn[] }>(this.urls.api.functions)
      .map(response => response.functionns);
  }
  ...

有人可以提供建议吗?

0 个答案:

没有答案