Tuo*_*nen 6 javascript rest json angularjs angular
模拟Http get()Angular 2中返回的响应的最简单方法是什么?
我的data.json工作目录中有本地文件,我想get()将包含该数据的响应作为有效负载返回,模拟其余的api.
用于配置Backend对象的文档对于Http这样一个简单的任务来说似乎有点模糊和过于复杂.
您需要用该XhrBackend提供者覆盖该提供者MockBackend。然后,您需要创建另一个注入器才能执行真正的 HTTP 请求。
这是一个示例:
beforeEachProviders(() => {
return [
HTTP_PROVIDERS,
provide(XHRBackend, { useClass: MockBackend }),
SomeHttpService
];
});
it('Should something', inject([XHRBackend, SomeHttpService], (mockBackend, httpService) => {
mockBackend.connections.subscribe(
(connection: MockConnection) => {
var injector = ReflectiveInjector.resolveAndCreate([
HTTP_PROVIDERS
]);
var http = injector.get(Http);
http.get('data.json').map(res => res.json()).subscribe(data) => {
connection.mockRespond(new Response(
new ResponseOptions({
body: data
})));
});
});
}));
Run Code Online (Sandbox Code Playgroud)