Я недавно начал изучать модульное тестирование в angular и в настоящее время пытаюсь написать тесты для службы appconfig.
Код, который я хочу выполнить для модульного тестирования конфигурации appservice, приведен ниже, который получает среды из файл json:
public loadEnvironment(): Observable<AppSettings> {
if (!this.configuration$) {
this.configuration$ = this.http.get<AppSettings>(`/environment`).pipe(
shareReplay(1)
);
}
return this.configuration$;
}
Для этого я попытался написать приведенный ниже тест, но каким-то образом я не могу понять, как я могу высмеивать файл json, попавший сюда?
describe('AppConfigService', () => {
let appConfigService: AppConfigService;
let httpMock: HttpTestingController;
beforeEach(() => {
TestBed.configureTestingModule({
imports: [
HttpClientTestingModule,
],
providers: [
AppConfigService
],
});
appConfigService = TestBed.get(AppConfigService);
httpMock = TestBed.get(HttpTestingController);
});
it(`should fetch enviornment as an Observable`, async(inject([HttpTestingController, AppConfigService],
(httpClient: HttpTestingController, appConfigService: AppConfigService) => {
appConfigService.loadEnvironment().subscribe();
let req = httpMock.expectOne('/environment');
expect(req.request.method).toBe("GET");
httpMock.verify();
})));
});
Как я уже сказал, я очень новичок, поэтому, пожалуйста, учтите это.