을 angular2 현재 경로는 여기에 ','항상 아무것도 :( 없는 오류입니다 :RouteLink 테스트 나는이 방법처럼 RouteLink 지시문을 사용하여 구성 요소를 테스트입니다
Chrome 53.0.2785 (Windows 7 0.0.0) testComponent ROUTLINK CLICK FAILED
Expected '' to be '/home'.
어떤 생각
을 angular2 현재 경로는 여기에 ','항상 아무것도 :( 없는 오류입니다 :RouteLink 테스트 나는이 방법처럼 RouteLink 지시문을 사용하여 구성 요소를 테스트입니다
Chrome 53.0.2785 (Windows 7 0.0.0) testComponent ROUTLINK CLICK FAILED
Expected '' to be '/home'.
어떤 생각
그래서 당신은이 현재 오류가 있으며 수정 한 후에는 다른 오류가 발생합니다.
앵커의 click()
에 비동기 이벤트 처리가 포함되어 있기 때문에 현재 오류 Expected '' to be '/home'
이 있습니다. 그러나 귀하의 기대는 동기식이며 비동기 작업이 완료되기 전에 click()
직후에 발생합니다.
async
할 수 있습니다이 문제를 해결하려면, 다음
click()
후에는
fixture.whenStable()
import { async } from '@angular/core/testing';
// use async
it('ROUTLINK CLICK', async(() => {
fixture.detectChanges();
let links = fixture.nativeElement.querySelectorAll('a');
links[1].click();
fixture.whenStable().then(() => {
expect(location.path()).toBe('/home');
});
}));
당신이이 문제를 해결하면 또 다른 문제로 실행을 호출하여 비동기 작업을 위해 기다릴 수 있습니다. 현재 RouterTestingModule
에 대해 구성된 경로가 없습니다. RouterTestingModule.withRoutes(Routes)
으로 전화하여 설정하십시오. 실제 응용 프로그램 경로를 사용할 수도 있고 원할 경우 테스트를 위해 가짜 경로를 설정할 수도 있습니다. See example.
고맙습니다. – user3518668