コンポーネントがあります。彼の主な役割はラッパーです。
どんなトラブルで?
コンポーネントを実行するメソッドcompileComponentsにプロパティtitleがない場合。それが、私が思うに、コンソールにエラーが表示される理由です
質問: 最初にプロパティをバインドしてから compileComponents メソッドを実行するにはどうすればよいですか?
コンポーネント テンプレート:
<div class="card">
<div *ngIf="title" class="card-header clearfix">
<h3 class="card-title">{{ title }}</h3>
</div>
<div class="card-body">
<ng-content></ng-content>
</div>
</div>
説明セクション:
describe('CardComponent', () => {
let comp: CardComponent;
let fixture: ComponentFixture<CardComponent>;
let titleEl: DebugElement; // the DebugElement with the welcome message
// async beforeEach
beforeEach( async(() => {
TestBed.configureTestingModule({
declarations: [ CardComponent ],
}).compileComponents(); // compile template and css
}));
// synchronous beforeEach
beforeEach(() => {
fixture = TestBed.createComponent(CardComponent);
comp = fixture.componentInstance;
titleEl = fixture.debugElement.query(By.css('.card-title'));
comp.title = "Greatest title";
fixture.detectChanges(); // trigger initial data binding
});
it('Card check title', () => {
expect(titleEl.nativeElement.textContent).toContain("Greatest title");
});
});