我试图对调用另一个函数的函数进行单元测试。这是调用函数
detailsFiltersClosed(recentSearch: boolean): void {
this.arrowUp = false;
this.filterData = this.loadsFilter.getData();
const isTypeAll: boolean = this.filterData.loadType === Capacity.Both;
const loadType: string = isTypeAll ? DetailsFiltersResources.All : this.filterData.loadType;
}
,这是调用它的函数:
searchAndCloseDetails(){
this.detailsFiltersClosed(false);
setTimeout(() => {
this.trigger.closeMenu();
},0);
}
变量arrowUp
是组件的booelan属性。
我写了这个单元测试:
describe('searchAndCloseDetails', () => {
let arrow = component.arrowUp = true;
component.searchAndCloseDetails();
expect(component.arrowUp).toEqual(false);
});
然而,它失败了,说:TypeError: "不能读取属性'loadType'的undefined">
你能帮我找出我的错误在哪里吗?
谢谢。
可能是因为这个。filterData未定义
const loadType: string = isTypeAll ? DetailsFiltersResources.All : this.filterData.loadType;