Angular: unit test [RouterLink] = "['/ account', record ['account]]", но тест не пройден Ошибка: не удается сопоставить ни один маршрут. Сегмент URL: «данные учетной записи / xyz» - PullRequest
0 голосов
/ 04 октября 2019

Я пишу модульный тест, чтобы увидеть, вызывается ли ссылка на маршрутизатор с правильными параметрами или нет.

component.html

<tr *ngFor="let record of records;let i = index">
   <td>  
     <button [routerLink]="['/account-details', record['account']]"  class="btn">Show Detail</button>
   </td>
</tr>

компонент. spec.ts

import { RouterTestingModule } from '@angular/router/testing';
import { Router } from '@angular/router';

  beforeEach(async(() => {
    TestBed.configureTestingModule({
      imports: [RouterTestingModule, HttpClientTestingModule],
      declarations: [ AccountsListComponent]
    })
    .compileComponents();
    injector = getTestBed();
    httpMock = injector.get(HttpTestingController);
    injector.get(router);
  }));

  beforeEach(() => {
    fixture = TestBed.createComponent(AccountsListComponent);
    component = fixture.componentInstance;
    fixture.detectChanges();
  });



  it('should fetch details for particular account on click event', () => {
    component.records = [ {"account":""xyz"}];
    fixture.detectChanges();

    let componentLinks = fixture.debugElement.queryAll(By.css('.btn'));
    componentLinks[0].triggerEventHandler('click',null);
    fixture.detectChanges();
    const spy = spyOn(router, 'navigate'); 
    expect(spy).toHaveBeenCalledWith(['/account-details',"xyz"]);//fails

'Unhandled Promise rejection:', 'Невозможно найти ни одного маршрута. Сегмент URL: 'account-details / xyz' ',';Зона: ',' ProxyZone ',';Задача: ',' Promise.then ',';Значение: ', Ошибка: не может соответствовать ни один маршрут. Сегмент URL: «account-details / xyz» Ошибка: невозможно сопоставить ни один маршрут. Сегмент URL: 'account-details / xyz'

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