javascript - 未捕获的类型错误:无法读取未定义抛出的单元测试 Jasmine 的属性“过滤器”
问题描述
我在用茉莉花进行单元测试时遇到这个错误:
未捕获的类型错误:无法读取未定义抛出的属性“过滤器”
我的功能:
info() {
this.requestService.postRequest('Reports', 'getInfo', {})
.subscribe(
data => {
this.places = data.places;
this.types = data.types.filter(obj => obj.id != 20);
this.loading = false;
},
error => {
console.log(error);
this.loading = false;
});
};
考试:
it('When call requestService.postRequest', () => {
spyOn(component.requestService, 'postRequest').and.returnValue(of({}));
component.info();
expect(component.requestService.postRequest).toHaveBeenCalled();
expect(component.requestService.postRequest).toHaveBeenCalledTimes(1);
});
解决方案
该data
对象似乎没有types
属性(或places
就此而言的属性。看起来您需要更改
spyOn(component.requestService, 'postRequest').and.returnValue(of({}));
到
spyOn(component.requestService, 'postRequest').and.returnValue(of({
places: [],
types: []
}));
推荐阅读
- java - 在第一次单击 JavaFX 时突出显示 TextField 中的所有文本
- pandas - 前 x 值的平均值
- asp.net - 在 Chrome 中的 ASP.NET 中提供本地文件
- amazon-web-services - AWS App Stream 2.0 错误 - 此磁盘上没有足够的空间来为 FileMaker Pro 完成此操作
- javascript - Router、Rout 和 Switch 在我的 React 网站中不起作用?
- mysql - Mysql - 如何限制表上每秒的事务数
- html - Bootstrap 4嵌套的行和列,在移动视图的右侧添加空格
- javascript - React Render Array of object in parent-child relationship with checkbox
- javascript - 我正在尝试制作 !update 命令,该命令会发送您在 !update/!u 之后所说的所有内容
- python - 如何添加对“整洁”数据和熊猫的观察?