2016-12-17 15 views
0

route.navigateをテストするにはどうすればよいですか?router.routerState is undefined角度2.1テスト

it('Should log in and navigate to dashboard', fakeAsync(inject([LoginService, Router, Location], (authService: LoginService, router: Router, location: Location) => { 
     let button = fixture.debugElement.nativeElement.querySelector('#login'); 
     spyOn(authService, 'login').and.returnValue(Observable.of(true)); 


     button.click(); 
     tick(1000); 


     expect(component.loading).toBe(false); 
    }))); 

私はあなたがそう、router.activateはモックルータを注入されると呼ばなっているかどうかをテストするために何をすべきかangular 2.1

答えて

0

を使用しています:ボタンクリック後の変更ルートは...ここに私のテストであれば私がチェックする必要がありますactivateをスパイすることができます。

はジョー・イームズのは、角が提供するRouterTestingModuleを使用してこの例を見てみましょう:https://gist.github.com/joeeames/0ddcfe8f0576bc7651ae99e6b59e81ea

+0

ルート有効かどうかを確認する方法を示していないことの例... –

+0

あなたはそこから彼の例との仕事を取るだろう...ルータがどのように注入されるのかを見てください(https://gist.github.com/joeeames/0ddcfe8f0576bc7651ae99e6b59e81ea#file-routing-test-L42)?そのルータの 'activate'メソッドを覗き込むことができます。アプリケーションが使用しているルータなので...意味がありますか? – gonzofish

関連する問題