本文介绍了角度测试错误:无法在新的RouterLinkWithHref上读取未定义的属性“subscribe”的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我不知道我做错了什么,我没有找到 RouterLinkWithHref 的任何链接到测试中的任何错误,而且我没有在任何地方使用RouterLinkWithHref,就我而言知道:/
I don't get what I'm doing wrong, I didn't find any link of RouterLinkWithHref to any error in tests, furthermore I'm not using RouterLinkWithHref anywhere, as far as I know :/
任何人都可以帮我这个:
Can anyone help me with this:
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 ,如下所示:
You should remove your routing mocks (mockRouter, mockActivatedRoute) since you already import RouterTestingModule, something like this:
describe('AddItemComponent: ', () => {
let cmp: AddItemComponent;
let fixture: ComponentFixture<AddItemComponent>;
let de: DebugElement;
let el: HTMLElement;
const mockCustomCardService = {
getItemDeliveryDate: () => Observable.empty(),
emitItemChanges: () => Observable.empty(),
};
const mockPageDataService = {};
const mockUserService = {};
beforeEach(() => {
TestBed.configureTestingModule({
declarations: [AddItemComponent],
imports: [FormsModule, ReactiveFormsModule, SharedModule, TranslateModule.forRoot(), RouterTestingModule],
providers: [
SpinningService,
FormBuilder,
TranslateService,
{ provide: CustomItemService, useValue: mockCustomItemService },
{ provide: PageDataService, useValue: mockPageDataService },
{ provide: UserService, useValue: mockUserService }
],
schemas: [NO_ERRORS_SCHEMA]
});
fixture = TestBed.createComponent(AddItemComponent);
cmp = fixture.componentInstance;
fixture.detectChanges();
});
it('Simple test', () => {
expect(true).toBeTruthy();
});
});
这篇关于角度测试错误:无法在新的RouterLinkWithHref上读取未定义的属性“subscribe”的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!