に、私はこの記事https://stackoverflow.com/a/42462579/1818048角度2インスタンス化グローバルインジェクタカルマジャスミンテスト
と同じセットを持っているが、私は私のカラマジャスミンは、テストでServiceLoctor.inject.getを使用することができません - インジェクタがnull
app.moudleモジュールでは、グローバルに使用できるように次のように宣言しました。ここで
export class AppModule {
constructor(private injector: Injector) {
ServiceLocator.injector = this.injector;
}
}
は、今私はテストServiceLocator.injectorがnullの実行時に私のテスト・セットアップ
describe('MyButtonComponent',() => {
let component: MyButtonComponent;
let fixture: ComponentFixture<MyButtonComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ButtonComponent, MyButtonComponent],
providers: [SomeService,
{ provide: Router, useClass: RouterTestingModule },
{ provide: ServerService, useClass: GenericMock },
]
})
.overrideComponent(ResourceService, {
set: {
providers: [
{ provide: ConfigService, useClass: ConfigServiceMock }
]
}
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(MyButtonComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create',() => {
expect(component).toBeTruthy();
});
});
からの抜粋です。カルマジャスミンを親にセットするにはどうしたらいいですか?これは不可能ですか?
私はこれを機能させるのに苦労しています。私は '、'と予想され、名前 'injector'を見つけることができず、 '{ServiceLocator:any; } 'は' number '型のパラメータに代入不可能です。 – Dezza