为什么我不能在 .spec.ts 中调用组件的函数?



我试图对调用另一个函数的函数进行单元测试。这是调用函数

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;

相关内容

  • 没有找到相关文章