我在使用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