覆盖Jasmine

时间:2017-11-23 13:35:11

标签: javascript angular

我正在尝试编写一些测试,ngInit()中有一些条件逻辑依赖于ActivatedRoute.params来获取值。

我的模拟为我的值提供了一个observable,但是当我调试时,未设置指定的ActivedRoute。

我有一个不同组件的不同测试。

我的注射如下:

beforeEach(async(() => {
TestBed.configureTestingModule({
  imports:[
    FaqsModule,SharedModule.forRoot(), RouterTestingModule
  ],
  declarations: [ ],
  providers:[
    { provide: AppService, useValue: new MockAppService() },
    { provide: DataService, useValue: mockDataService },
    { provide: NotificationService, useValue: mockNotificationService },
    { provide: FaqsService, useValue:mockFaqsService},
    { provide: ActivatedRoute, useValue: {queryParams: Observable.of({id:1}) }}
  ]
})
.compileComponents();

fixture = TestBed.createComponent(FaqEditPageComponent);
component = fixture.componentInstance;
}));

我试过了:

- 不包括此提供商

- 模拟并提供为useClass

- 使用AngularDocs的覆盖

0 个答案:

没有答案