使用业力和茉莉花的.find方法进行阵列覆盖单元测试

问题描述 投票:0回答:1

使用角度8中的业力和茉莉花覆盖spec文件中的以下代码段的麻烦

myMethod(id: number): boolean {
  const data= this.myService.getSampleData();
  return data.find(item => item.id === id).count;
}

spec:

it('should call myMethod ', () => {
    spyOn(myService,'getSampleData').and.returnValue(of([{id:1,count:10}]))
    component.myMethod(1);
});

它无法读取未定义的属性.find。虽然我尝试过spyOn(myService,'getSampleData')。and.returnValue(of([[{id:1,count:10}])))都移入beforeEach函数,但没有运气

angular unit-testing jasmine karma-jasmine
1个回答
0
投票

您的方法希望获得一系列的项目。但是,您从间谍返回Observable >。试试这个spyOn(myService,'getSampleData').and.returnValue([{id:1,count:10}])

© www.soinside.com 2019 - 2024. All rights reserved.