2017-04-13 78 views
0

如何用另一個提供者的實例實例化TestBed.configureTestingModule()中的提供者?實例化TestBed中的提供者與另一個提供者的實例

一個例子(沒有明顯工作):

beforeEach(() => { 
    TestBed.configureTestingModule({ 
    providers: [ 
     { provide: ServiceOne, useValue: new ServiceOne('parameterOne')}, 
     { provide: ServiceTwo, useValue: new ServiceTwo(TestBed.get(ServiceOne), 'parameterTwo')} 
    ] 
    }); 
}); 

回答

1

使用factory provider

providers: [ 
    { provide: ServiceOne, useValue: new ServiceOne('parameterOne')}, 
    { 
    provide: ServiceTwo, 
    deps: [ ServiceOne ], 
    useFactory: (serviceOne: ServiceOne) => { 
     return new ServiceTwo(serviceOne, 'parameterTwo') 
    } 
    } 
] 
+0

謝謝!這正是我所期待的。 – Raven

相關問題