2016-12-14 7 views
5

Ben:Açısal 2 birim testleri: TestBed'de tek bir sağlayıcı nasıl geçersiz kılınır (hizmet bağımlılığı olan bir bileşen değil, hizmet için birim testleri)?

beforeEach(() => { 
     TestBed.configureTestingModule({ 
      providers: [ 
       DocumentsLoaderSvc, 
       { provide: MgrSvc, useClass: MockMgrSvc }, 
       { provide: URLLoaderSvc, useClass: MockURLLoaderSvcWhenData} 
      ] 
     }); 
    }); 

Nasıl kendi benzersiz şartı ile bir "o" durumunda, başka bir mock ile URLLoaderSvc geçersiz mi? TestBed.overrideProvider gibi bir şey var mı ... Şu anda, her biri kendi ifadesiyle kendi tanımladım.

+0

Bu soruya hala bir cevap mı arıyorsunuz yoksa bunu yapmanın bir yolunu mu buldunuz? – vincecampanale

cevap

1

Belki de en iyi bahisten aldatmacayı farklı test durumlarının ihtiyaçlarına göre yapılandırılabilir yapmaktır. bir örnek olarak tutun ve it Test durumlarda Şimdi useClass

let urlLoderSvc: URLLoaderSvc; 

beforeEach(() => { 
    urlLoaderSvc = new URLLoaderSvc(); 

    TestBed.configureTestingModule({ 
    providers: [ 
     DocumentsLoaderSvc, 
     { provide: MgrSvc, useClass: MockMgrSvc }, 
     { provide: URLLoaderSvc, useValue: urlLoaderSvc } 
    ] 
    }); 
}); 

yerine useValue kullanmak, sadece istediğini yapmak için urlLoaderSvc örneğini yapılandırabilirsiniz.

İlgili konular