角度测试错误:无法在新的RouterLinkWithHref上读取未定义的属性“subscribe”

我不知道我做错了什么,我没有找到任何链接的RouterLinkWithHref到测试中的任何错误,而且据我所知,我没有在任何地方使用RouterLinkWithHref:/

谁能帮我这个:

fdescribe('AddItemComponent: ',() => {
  let cmp: AddItemComponent;
  let fixture: ComponentFixture<AddItemComponent>;
  let de: DebugElement;
  let el: HTMLElement;

  const mockRouter = {
    navigate: jasmine.createSpy('navigate')
  };
  const mockCustomCardService = {
    getItemDeliveryDate: () => Observable.empty(),emitItemChanges: () => Observable.empty(),};
  const mockActivatedRoute = { snapshot: {} };
  const mockPageDataService = {};
  const mockUserService = {};

  beforeEach(() => {
    TestBed.configureTestingModule({
      declarations: [AddItemComponent],imports: [FormsModule,ReactiveFormsModule,SharedModule,TranslateModule.forRoot(),RouterTestingModule],providers: [
        SpinningService,FormBuilder,TranslateService,{ provide: Router,useValue: mockRouter },{ provide: CustomItemService,useValue: mockCustomItemService },{ provide: PageDataService,useValue: mockPageDataService },{ provide: UserService,useValue: mockUserService },{ provide: ActivatedRoute,useValue: mockActivatedRoute }
      ],schemas: [NO_ERRORS_SCHEMA]
    });

    fixture = TestBed.createComponent(AddItemComponent);
    cmp = fixture.componentInstance;
    fixture.detectChanges();
  });

  it('Simple test',() => {
    expect(true).toBeTruthy();
  });

});

解决方法

您应该删除路由模拟(mockRouter,mockActivatedRoute),因为您已经导入了RouterTestingModule,如下所示:

describe('AddItemComponent: ',() => {
  let cmp: AddItemComponent;
  let fixture: ComponentFixture<AddItemComponent>;
  let de: DebugElement;
  let el: HTMLElement;

  const mockCustomCardService = {
    getItemDeliveryDate: () => Observable.empty(),};
  const mockPageDataService = {};
  const mockUserService = {};

  beforeEach(() => {
    TestBed.configureTestingModule({
      declarations: [AddItemComponent],useValue: mockUserService }
      ],() => {
    expect(true).toBeTruthy();
  });

});

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...