我正在使用茉莉花测试。
我有这个功能:
style: string;
toggleStyle(style: string, version: string) {
this.style = `mapbox://styles/mapbox/${style}-${version}`;
}
和模板:
<div class="map-menu-item" (click)="toggleStyle('outdoors', 'v11')" [state]="[true]" menuItemToggle>
<span>
<fa-icon [icon]="faMountain" size="sm" class="pr-2"></fa-icon>Outdoors
</span>
</div>
所以我有这个单元测试功能:
fit('Should mapbox style when user click on icon', () => {
spyOn(component, 'toggleStyle').and.callThrough();
fixture.debugElement.query(By.css('.map-menu-item')).nativeElement.click();
fixture.detectChanges();
expect(component.toggleStyle).toHaveBeenCalled();
});
所以我调用函数:toggleStyle
但我仍然收到此错误:
Expected spy toggleStyle to have been called.
当然,我用谷歌搜索了这个错误。但是我做了一个 callThrough 并调用了函数。
那么我必须改变什么?
潇潇雨雨
相关分类