Невозможно сопоставить URL запроса с HttpTestingController - PullRequest
0 голосов
/ 13 марта 2019

Я только что начал писать модульный тест в Angular.Сначала я хотел бы написать тест для моего сервиса для извлечения данных с внешнего сервера.Я пытался проверить тип метода.Я использовал какое-то руководство, но не могу подключиться к серверу.Ниже представлен мой код.

import { GitHubService} from './github.service';
import { TestBed, inject } from '@angular/core/testing';
import {
  HttpClientTestingModule,
  HttpTestingController
} from '@angular/common/http/testing';

describe('GitHubService', () => {
  let service: GitHubService;
  let httpMock: HttpTestingController;

  beforeEach(() => {
    TestBed.configureTestingModule({
      imports: [HttpClientTestingModule],
      providers: [GitHubService]
    });

    service = TestBed.get(GitHubService);
    httpMock = TestBed.get(HttpTestingController);
  });

  it('should create GitHubService', inject(
    [GitHubService],
    (service: GitHubService) => {
      expect(service).toBeTruthy();
    }
  ));

  it('service url should be a GET method', () => {
    const req = httpMock.expectOne(`${service.API_URL}/users`);
    expect(req.request.method).toBe('GET');
  });

  afterEach(() => {
    httpMock.verify();
  });
});

После запуска ng test результат равен 1 FAILED, 1 SUCCESS и выдано сообщение об ошибке: Error: Expected one matching request for criteria "Match URL: https://api.github.com/users", found none..Я искал ответ в сети, но решения не работают.Что не так с моим кодом и что я должен исправить?Спасибо за советы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...