我需要测试我的角度服务 - 尤其是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);
}
...
有人可以提供建议吗?