2
我試圖檢查下拉菜單是否在切換布爾值時顯示。 布爾是當布爾是@input已經做組件Angular2測試 - 未檢測到更改
@Component({
selector: 'dropdown',
directives: [NgClass],
template: `
<div [ngClass]="{open: open}">
</div>
`,
})
export class DropdownComponent {
@Input('open') open: boolean = false;
}
而且測試
it('should open', injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
return tcb.createAsync(DropdownComponent)
.then(fixture => {
let el = fixture.nativeElement;
let comp: DropdownComponent = fixture.componentInstance;
expect(el.className).toEqual('');
comp.open = true;
fixture.detectChanges();
expect(el.className).toEqual('open')
});
}));
我猜一些不同的輸入?
我console.log'd「el」,它是一個div。那麼開始時的nativeElement是什麼?它是否位於組件上方的某個容器? – Cuel
它應該是'dropdown',你的組件的選擇器。元素的孩子應該是'div'。也許'TestComponentBuilder'不會爲你的組件創建一個合適的標籤。沒有仔細調查過。 –