首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >角度单元测试,可观察到的错误

角度单元测试,可观察到的错误
EN

Stack Overflow用户
提问于 2018-07-12 05:59:38
回答 1查看 5.8K关注 0票数 1

我正在尝试纠正服务调用的代码覆盖率中的错误。我遵循了两种方法,但犯了一些错误。

下面是我编写测试用例的方法

setPrefixSuffixDetails(): void {
    this.prefixSuffixDetailSubscription = this.profileBeneficiaryService.getPrefixSuffixDetails()
      .subscribe(data => {
        if (data.body.prefixlist.length > 0) {
          this.prefixConfig.options = data.body.prefixlist;
        }
        if (data.body.suffixlist.length > 0) {
          this.suffixConfig.options = data.body.suffixlist;
        }
      }, error => {
        this.loadingData = false;
        this.notificationService.addNotications(error);
      });
  }

为了测试,我创建了提供程序,下面是我的提供程序

 { provide: ProfileBeneficiaryService, useClass: ProfileServiceStub},
{provide: ProfileBeneficiaryService, useClass: ProfileBenficiaryErrorStub},

一个用于成功调用,另一个用于错误调用。

beforeEach(async(() => {

        TestBed.configureTestingModule({ .............

    class ProfileBenficiaryErrorStub {
            getPrefixSuffixDetails = function () {
                return Observable.throw(Error('Test error'));
            }}

     class ProfileServiceStub {
      getPrefixSuffixDetails = function () {
                return Observable.of(this.data);
            }
            }

但问题是,当我使用两个提供者时,它只涵盖错误,如果我不包含错误的提供者,它就涵盖了成功

请让我知道我在哪里做了错误的使用提供者。

另外,我尝试使用spyOn的方式,但遇到了错误

 it('should check for the getPrefixSuffixDetails error call ', () => {
 spyOn(ProfileBeneficiaryService,'getPrefixSuffixDetails').and.returnValue(Observable.throw('error'));});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-16 22:36:22

下面的解决方案对我很有效

it('should check for the getPrefixSuffixList error call ', () => {
    spyOn(profileDependentsService, 'getPrefixSuffixList').and.returnValue(Observable.throw('error'));
    component.getPrefixSuffixList();
    expect(profileDependentsService.getPrefixSuffixList).toHaveBeenCalled();
});
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51294749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档