title: Angular Unit testing : Error: Cannot match any routes. URL Segment: 'home/advisor'
body: <p>Am working on unit testing under my angular 4.0.0 app , some method in my  real  component is calling manual routing via : </p>
  
  <pre><code>method(){
  ....
      this.navigateTo('/home/advisor');
  ....
  }
  </code></pre>
  
  <p>with <strong>navigateTo</strong> is a custom routing method calling this :</p>
  
  <pre><code>  public navigateTo(url: string) {
      this.oldUrl = this.router.url;
      this.router.navigate([url], { skipLocationChange: true });
    }
  </code></pre>
  
  <p>i have this routing file :</p>
  
  <pre><code>import ...     // Components and dependencies
  
  const homeRoutes: Routes = [
    {
      path: 'home', component: HomeComponent,
      children: [
        {
          path: 'registration',
          component: RegistrationComponent,
          children: [
            {
              path: 'synthese',
              component: SyntheseComponent
            },
            {
              path: 'queue',
              component: QueueComponent,
              children: [
                {
                  path: 'queue-modal',
                  component: QueueModalComponent
                },
                {
                  path: 'confirm',
                  component: ConfirmComponent
                }
              ]
            }
          ]
        },
        {
          path: 'toolbox',
          component: ToolboxComponent
        },
        {
          path: 'appointment',
          component: AppointmentRegistrationComponent
        },
        {
          path: 'appointment-validation',
          component: AppointmentValidationComponent
        },
        {
          path: 'datepicker',
          component: DatePickerComponent
        },
        {
          path: 'validation/:defaultNumber',
          component: ValidationComponent,
          children: [
                     {
                       path: 'synthese',
                       component: SyntheseComponent
                     }
                     ]
        },
        {
          path: 'modalField',
          component: ModalFieldComponent
        },
        {
          path: 'search',
          component: SearchComponent
        },
        {
          path: 'advanced-search',
          component: AdvancedSearchComponent
        },
        {
          path: 'tools',
          component: ToolsComponent
        },
        {
          path: 'advisor',
          component: AdvisorComponent
        },
        {
          path: 'pilote',
          component: PilotComponent
        },
        {
            path: 'blank',
            component: BlankComponent
          },
        {
          path: 'view-360/:id',
          component: View360Component,
          children: [
            {
              path: 'client',
              component: ClientComponent
            },
            {
              path: 'tools',
              component: ToolsAdvisorComponent
            },
            {
              path: 'valid-close',
              component: ValidCloseComponent
            },
            {
              path: 'application',
              component: ApplicationView360Component
            }
          ],
          canActivate: [AuthGuardAdviser]
        },
        {
          path: 'view-360',
          component: View360Component,
          children: [
            {
              path: 'client',
              component: ClientComponent
            }
          ],
          canActivate: [AuthGuardAdviser]
        },
        {
          path: 'contract',
          component: ContractComponent
        },
        {
          path: 'queue-again',
          component: QueueAgainComponent
        },
        {
          path: 'stock',
          component: StockComponent,
          children: [
            {
              path: 'mobile',
              component: MobileComponent
            },
            {
              path: 'stock-level',
              component: StockLevelComponent
            }
          ]
        },
        {
          path: 'usefull-number',
          component: UsefullNumberComponent
        },
        {
          path: 'admin',
          loadChildren: 'app/home/admin/admin.module#AdminModule',
          //           component: AdminComponent,
          canActivate: [AuthGuardAdmin]
        },
        {
          path: 'rb',
          loadChildren: 'app/home/rb/rb.module#RbModule',
          //        component: RbComponent
          //        canActivate: [AuthGuardAdmin]
        },
        {
          path: 'tools-advisor',
          component: ToolsAdvisorComponent
        },
        {
          path: 'catalog/:haveClient',
          component: CatalogComponent
        },
        {
          path: 'application',
          component: ApplicationComponent
        },
      ]
    },
  
     ];
  
  @NgModule({
    imports: [
      CommonModule,
      RouterModule.forChild(homeRoutes)
    ],
    exports: [
      RouterModule
    ],
    declarations: []
  })
  export class HomeRoutingModule { }
  </code></pre>
  
  <p>Strangely , even my application goes fonctionnally well ,but the test throws this error :</p>
  
  <blockquote>
    <p>Failed: Uncaught (in promise): Error: Cannot match any routes. URL
    Segment: 'home/advisor' Error: Cannot match any routes. URL Segment:
    'home/advisor'</p>
  </blockquote>
  
  <p>it seems like i have some missing configuration .</p>
  
  <p><strong>Any ideas ??</strong></p>