测试在返回Observable <boolean>的方法中调用了router.navigate()

时间:2016-12-08 19:32:37

标签: unit-testing angular jasmine karma-jasmine

我有一项服务,由于某种原因使用以下语法访问路由器:

this.injector.get( Router ).navigate( ['/login'] );

在测试此服务的CanNavigate方法时,我想测试已调用此navigate()方法。所以,像这样:

it( 'should navigate to login', () => {
    service.canActivate( null, null ).subscribe( ( res ) => expect( router.navigate ).toHaveBeenCalledWith( ['/login'] ));
} );

无论如何都有这个意思!这个方法返回一个Observable,所以它不像这样简单。

fakeAsync()

0 个答案:

没有答案