私はAngular 2テストに慣れていません。テストレベルでtestsbed.get()
を使用することとinject
を使用することの違いを理解しようとしています。
例えば:
beforeEach(() => {
TestBed.configureTestingModule({
providers: [SomeService]
});
const testbed = getTestBed();
someService= testbed.get(SomeService);
});
});
対
it('test service', inject([SomeService], (someService: SomeService) => {
inject
ヘルパー関数は、AngularJS以降、直接インジェクター呼び出しの代わりとして使用されていました。 Angular 1では、bootstrap _ngMock
を使用したテストが必要でした。 Angular 2以降では完全にオプションであり、TestBedテストでのDIの推奨方法にすぎません。
これはtestBed.get
の便利なラッパーであり、次のように複数のtestBed.get
呼び出しを回避できます。
const [foo, bar] = [Foo, Bar].map(TestBed.get);
他のヘルパー関数は、inject
、つまりasync
およびfakeAsync
と組み合わせてオプションで使用できます。