我有一个使用ag-grid来显示数据的应用程序。这些数据只是用户信息,例如他们的姓名和电子邮件。我正在为组件类中的其中一个功能编写测试。我的功能是这样的:它使用getData服务从URL中检索用户列表。然后将这些用户输出到ag-grid。我的测试正在尝试完全模拟。这是我的组件类中的函数:
getUsers() {
this.userService.getData(url_UserList).subscribe(res=>
this.rowData = res;
this.redrawAgGrid();
}
现在这是我的测验:
fit('should call getData and return list of users', async(() => {
const response: Test[] = [];
spyOn(httpService, 'getData').and.returnValue(of(response));
dashboardComponent.getUsers();
fixture.detectChanges();
expect(dashboardComponent.rowData).toEqual(response);
}))
我的测试应该通过,rowData应该等于响应。 在线:dashboardComponent.getUsers()我收到错误:无法读取未定义的属性“ Api” 。
答案 0 :(得分:0)
所以,如果有人碰巧遇到这个问题,我就解决了。就像我说的那样,Jasmine在AGGrid上遇到了麻烦。为了解决这个问题,在我的测试中,我添加了以下行:spyOn(component'redrawAgGrid');
通过在线研究,api错误通常是由于未调用redrawAGrid方法造成的。