HttpTestingController.expectOne () с параметрами запроса - PullRequest
0 голосов
/ 19 февраля 2019

Я новичок в угловом тестировании с использованием Jasmine / Karma, я столкнулся с проблемой при тестировании углового сервиса с использованием HttpTestingController.Вот часть исходного кода:

getProfile(userName: string) {
    let config = {
      params: {
        user_id: "test"    
      }
    }
    return this.http
      .get(`https://api.github.com/users/${userName}`, config);
  }

при вызове службы с использованием waitOne из HttpTestingController:

it('should add an Authorization header', () => {
let response;
userService.getProfile('blacksonic').subscribe(response => {
  expect(response).toBeTruthy();
});


const req = 
httpMock.expectOne({ method: 'GET', url:'https://api.github.com/users/blacksonic' });

});

я получаю следующую ошибку:

Ошибка: ожидался один запрос на сопоставление по критериям "Метод сопоставления: GET, URL: https://api.github.com/users/blacksonic", не найден.?: 301: 19) в UserContext.eval (./src/app/Interceptors/Interceptor.spec.ts?:85:28) в ZoneDelegate.invoke (./node_modules/zone.js/dist/zone.js ?:387: 26) в ProxyZoneSpec.onInvoke (./node_modules/zone.js/dist/zone-testing.js?:287:39) в ZoneDelegate.invoke (./node_modules/zone.js/dist/zone.js ?:386: 32) в Zone.run (./node_modules/zone.js/dist/zone.js?:137:43) в runInTestZone (./node_modules/zone.js/dist/zone-testing.js?:508:34) на UserContext.eval (./node_modules/zone.js/dist/zone-testing.js?:523:20)

1 Ответ

0 голосов
/ 19 февраля 2019

вы передаете параметр.Так что-то вроде этого будет работать:

const req = httpMock.expectOne(
 { method: 'GET', url:'https://api.github.com/users/blacksonic?user_id=test' });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...