我有以下测试
it('test', function(){
@Component({
host: {
'[style.display]': 'service.obj.value ? "inline-block" : "none"'
}
})
class Component{
...
}
TestBed.configureTestingModule({
declarations: [
Component
],
providers: [
{
provide: InjectedService,
useValue: {
obj: this.obj
}
}
]
});
this.fixture.detectChanges();
expect(this.de.styles.display).toBe('none');
this.obj.value = 'value';
this.fixture.detectChanges();
expect(this.de.styles.display).toBe('inline-block');
})
第二种期望失败,因为风格不会重新出现。
为什么呢?两种情况下初始值都是正确的