Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何为服务页面编写单元测试用例?_Angular_Typescript_Jasmine_Karma Runner - Fatal编程技术网

Angular 如何为服务页面编写单元测试用例?

Angular 如何为服务页面编写单元测试用例?,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

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',(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