【发布时间】:2021-10-15 09:24:32
【问题描述】:
我正在尝试对调用另一个函数的函数进行单元测试。这是被调用的函数
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 是组件的布尔属性。
我写了这个单元测试:
describe('searchAndCloseDetails', () => {
let arrow = component.arrowUp = true;
component.searchAndCloseDetails();
expect(component.arrowUp).toEqual(false);
});
但是它失败了:TypeError: "Cannot read property 'loadType' of undefined"
你能帮我找出我的错误在哪里吗?
谢谢。
【问题讨论】:
-
过滤数据好像是未定义的。
this.loadsFilter.getData();方法有问题吗?this.loadsFilter是否被注入到组件构造函数中?
标签: angular jasmine karma-jasmine angular-unit-test