Angular 如何为服务页面编写单元测试用例?
jasmine,如何为服务页面编写测试用例? 我试着为下面的函数编写单元测试 service.page.tsAngular 如何为服务页面编写单元测试用例?,angular,typescript,jasmine,karma-runner,Angular,Typescript,Jasmine,Karma Runner,jasmine,如何为服务页面编写测试用例? 我试着为下面的函数编写单元测试 service.page.ts get():可观察{ const endpoint=“URL”; 返回此.http.get(端点) .烟斗( 地图((项目)=>{ 返回item.data.items.map(item=>{ 返回新部门(item.name、item.id、item.isActive) }) }) ) }; 我写 服务规范 it('should retrieve list of via GET',(do
get():可观察{
const endpoint=“URL”;
返回此.http.get(端点)
.烟斗(
地图((项目)=>{
返回item.data.items.map(item=>{
返回新部门(item.name、item.id、item.isActive)
})
})
)
};
我写
服务规范
it('should retrieve list of via GET',(done)=>{
常量dummydata:APIResponse={
isSuccess:对,
消息:“已成功检索部门”,
数据:[
{
名称:“字符串”,
id:8,
是的
},
{
名称:“字符串”,
id:8,
是的
},
]
};
expect(service.get).toBeTruthy();
service.get().subscribe((数据)=>{
期望值(数据长度).toBe(2);
expect(data).toEqual(dummydata.data);
完成();
});
const request=httpMock.expectOne('url');
expect(request.request.method).toEqual('GET');
刷新(dummydata.data);
});
这是我的API响应接口
export interface APIResponse<T> {
isSuccess: boolean;
message: string;
errorCode?: string;
data?:T[];
}
导出接口响应{
isSuccess:布尔值;
消息:字符串;
错误代码?:字符串;
数据?:T[];
}
我收到错误“map”undefined“您的虚拟数据不正确。它需要
数据对象上的项属性。(项.data.items.map
)
你应该考虑让它像:
const dummydata: APIResponse<modelsample> = {
// ...
data: {
items: [
{
name: 'string',
id: 8,
isActive:true
},
{
name: 'string',
id: 8,
isActive:true
},
]
}
};
const dummydata:APIResponse={
// ...
数据:{
项目:[
{
名称:“字符串”,
id:8,
是的
},
{
名称:“字符串”,
id:8,
是的
},
]
}
};
我已经添加了api.response.Interface为什么要使用数据.items.map
而不是数据.map
?