Angular2 のテスト
実際のサービスではなく、モック サービスでコンポーネントを実行したいと考えています。beforeEachProviders でモック サービス (MockMyService) を提供しましたが、実際のサービスを呼び出しています。
describe('List view component', () => {
beforeEachProviders(() => {
return [
ROUTER_PROVIDERS,
HTTP_PROVIDERS,
provide(RouteParams, { useValue: new RouteParams({ query: 'test' }) }),
provide(MyService, { useClass: MockMyService }),
MyComponent,
provide(APP_BASE_HREF, { useValue: '/' }),
provide(ROUTER_PRIMARY_COMPONENT, { useValue: AppComponent }),
provide(ApplicationRef, { useClass: MockApplicationRef })
];
});
it('1: component value check',
async(inject([TestComponentBuilder, MyComponent], (tcb: TestComponentBuilder, myComponent) => {
return tcb.createAsync(MyComponent).then((fixture) => {
fixture.detectChanges();
/**
* my custom stuff
*/
});
})));
});