调用 backendserver-angular 的服务类的单元测试

Java编码器

我有一个方法在服务类,它有一个对后端服务器的 GET 调用,后端服务器返回一个带有字段的人数组的响应 - 就业 ID、姓名和 busnTitle。

你能帮助覆盖以下几行吗?

searchPeople(searchWord: string): Observable<People[]> {
    return this.http.get<any>("{URL}").pipe(
        map(data => {
            if (data) {
                return data.persons.map(p => {
                    return {
                        eId: p.emplNtId,
                        name: p.name,
                        jobTitle: p.busnTitle
                    };
                });
            }
        })
    );
}
Java编码器
Solution:
        1) people-list-mock.json
        {
            "persons": [{
                    "emplNtId:": "123456",
                    "name": "testname",
                    "busnTitle": "Tester"
                },
                {
                    "emplNtId:": "1234",
                    "name": "testname",
                    "busnTitle": "Developer"
                }
            ]
        }
        
        Added this in ts file 
        const peopleMockResponse: any = require('people-list-mock.json');
        
         it('should return an Observable<People[]> - success', () => {
  peopleService.searchPeople(mockName).subscribe(
    (people) => {
      expect(people.length).toBe(2);
    });
  const req = httpTestingController.expectOne('{URL}');
  expect(req.request.method).toBe('GET');
  req.flush(peopleMockResponse);
  httpTestingController.verify();
});

it('should not return response - failed ', () => {
  peopleService.searchPeople(mockName).subscribe(
    (people) => {
      expect(people).toBeUndefined();
    });
  const req = httpTestingController.expectOne('{URL}');
  expect(req.request.method).toBe('GET');
  req.flush(null);
  httpTestingController.verify();
});
    
        

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

调用服务的组件的Angular 5单元测试

使用 DarkSkyApi 调用进行 Angular 2 服务单元测试

Angular 2+ 单元测试调用调用 httpclient get 的服务的服务

单元测试动态方法调用Angular

Angular/TypeScript:snackbar 的单元测试调用

使用Karma和Jasmine / Angular 8并行测试多个API调用的服务的单元测试

对调用外部服务的类进行单元测试

使用 jasmine 运行 angular2 单元测试时调用服务时出错

在 Angular 单元测试中,我们应该调用哪个服务?

超时内未调用异步回调-对Typescript和Angular $ http服务进行单元测试

Angular 单元测试服务

单元测试 Angular 服务

Angular 2-未调用单元测试间谍

从ngOnInit调用的Angular 2单元测试函数

在Angular 4单元测试中未调用ngOnChanges detectChanges()

调用服务的角度单元测试

Angular单元测试:在服务内部更改服务或更改抽象类

使用 TranslateService 的服务的 Angular 单元测试

注入服务的 Angular 单元测试

单元测试Angular 2服务主题

Angular中的单元测试服务

Angular8服务单元测试

承诺的Angular服务单元测试失败

如何单元测试它调用服务总线队列客户端SendAsync方法的类

正在被调用的spyOn返回不被angular5单元测试调用

如何在不使用 Angular 中的 spyOn 的情况下检查 Jasmine 单元测试中是否调用了来自服务的方法?

SpringBoot单元测试-服务方法未调用

单元测试-如何使用Spring MockMVC调用Soap服务

角度单元测试-模拟REST服务调用