单元测试角度@Input设置函数未触发



在我的组件中

@Input('price')
set setPrice(price) {
this.price = price;
this.modifyTotalAmount();
}

test (component.spec.ts(

it('should call function ', () => {
spyOn(fixture.componentInstance, 'modifyTotalAmount');
fixture.componentInstance.price = 4500;
fixture.detectChanges();
const divActualPrice = fixture.debugElement.query(By.css('#actualPrice'));
expect(divActualPrice.componentInstance.modifyTotalAmount).toHaveBeenCalled();
});

通常,当父组合值被更改时,这个setPrice(price(命中并调用modifyTotalAmount((函数。但是当单元测试运行时,修改总量((没有调用。此测试用例失败。我认为我在测试用例中所做的可能是错误的。任何人都可以澄清一下这有什么问题。

正如Aniket Kadam已经指出的那样,当你设置fixture.componentInstance.price = 4500您没有使用二传手setPrice您需要调用才能触发this.modifyTotalAmount()

fixture.componentInstance.setPrice = 4500也是如此。

最新更新