Модульное тестирование для службы appconfig, которая получает файл json в angular 9 - PullRequest
0 голосов
/ 26 апреля 2020

Я недавно начал изучать модульное тестирование в 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();
    })));
});

Как я уже сказал, я очень новичок, поэтому, пожалуйста, учтите это.

...