我在使用OnPush
更改檢測策略測試組件時遇到問題。在Angular 2中測試OnPush組件
測試是這樣
it('should show edit button for featured only for owners',() => {
let selector = '.edit-button';
component.isOwner = false;
fixture.detectChanges();
expect(fixture.debugElement.query(By.css(selector))).toBeFalsy();
component.isOwner = true;
fixture.detectChanges();
expect(fixture.debugElement.query(By.css(selector))).toBeTruthy();
});
如果我使用Default
戰略它能正常工作,但OnPush
到isOwner
的變化不會被調用detectChanges
重新描繪。我錯過了什麼嗎?
看看這個主題https://github.com/angular/angular/issues/12313,這裏是你的測試https://plnkr.co/edit/llJG17sBZZUXXBertYPp?p=preview – yurzui