Ich möchte eine andere Umgebungsvariable verwenden. In meinem Fall test
. Der Grund ist, dass ich einen HTTP-Interceptor für meine Integrationstests einfügen möchte. Dieser Interceptor sollte nur eine vorgetäuschte Antwort mit vordefinierten Daten zurückgeben und wird nur zum Testen verwendet.Wie benutzerdefinierte Umgebungsvariablen in Angular angeben?
Gibt es einen offiziellen Winkel-Weg?
So einfach will ich diese 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 {}
Ich vermisste die 'environment.test.ts' Datei unter' environments' in 'Winkel cli.json' hinzuzufügen. Der Link zum Blogeintrag zeigt mehr Infos dazu. Danke für deine Antwort ;-) –