【发布时间】:2017-08-08 19:50:53
【问题描述】:
我想使用另一个环境变量。在我的情况下test。原因是我想为我的集成测试注入一个 http 拦截器。这个拦截器应该只返回一个带有预定义数据的模拟响应,并且只用于测试。
有官方的角度方式吗?
所以我想要这个app.module.ts:
import { environment } from '../environments/environment';
// ...
export function CustomHttpProvider (backend: XHRBackend, options: RequestOptions) {
return new HttpService(backend, options);
}
export function FakeHttpProvider (backend: XHRBackend, options: RequestOptions) {
return new FakeHttpService(backend, options);
}
const HttpProvider = environment.test ? FakeHttpProvider : CustomHttpProvider;
@NgModule({
imports: [
BrowserModule,
HttpModule,
BrowserAnimationsModule,
// ... my modules + routing here
],
declarations: [AppComponent],
providers: [
{
provide: Http,
useFactory: HttpProvider,
deps: [XHRBackend, RequestOptions]
}
],
bootstrap: [AppComponent]
})
export class AppModule {}
【问题讨论】:
标签: angular angular-cli