Je suis en train de tester mon composante angulaire 2 final, mais j'obtiens une erreur parce que le composant utilise l' routerLink
directive. J'obtiens l'erreur suivante:
Ne peut pas se lier à 'routerLink', car il n'est pas connu de la propriété de 'a'.
C'est le code de l' ListComponent
modèle
<a
*ngFor="let item of data.list"
class="box"
routerLink="/settings/{{collectionName}}/edit/{{item._id}}">
Et voici mon test.
import { TestBed } from '@angular/core/testing';
import { ListComponent } from './list.component';
import { defaultData, collectionName } from '../../config';
import { initialState } from '../../reducers/reducer';
const data = {
sort: initialState.sort,
list: [defaultData, defaultData],
};
describe(`${collectionName} ListComponent`, () => {
let fixture;
beforeEach(() => {
TestBed.configureTestingModule({
declarations: [
ListComponent,
],
}).compileComponents(); // compile template and css;
fixture = TestBed.createComponent(ListComponent);
fixture.componentInstance.data = data;
fixture.detectChanges();
});
it('should render 2 items in list', () => {
const el = fixture.debugElement.nativeElement;
expect(el.querySelectorAll('.box').length).toBe(3);
});
});
J'ai regardé plusieurs réponses à des questions similaires, mais ne pouvait pas trouver une solution qui a fonctionné pour moi.