У меня проблемы с модульным тестированием для маршрутизации. Я пробовал это решение, но эта ленивая нотация загрузки теперь устарела , поэтому мои тесты по какой-то причине провалились. Может кто-нибудь дать мне совет, что может быть не так с моим кодом?
app-routing.module.ts :
export const routes: Routes = [
{path: 'about', component: AboutComponent},
{path: 'files', loadChildren: () => import('./files/files.module').then(m => m.FilesModule)},
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }
app-routing.module.spe c .ts :
describe('AppRoutingModule', () => {
let location: Location;
let router: Router;
let fixture;
beforeEach(() => {
TestBed.configureTestingModule({
imports:[
RouterTestingModule.withRoutes(routes),
HttpClientModule,
AboutComponent,
],
declarations: [
AppComponent,
FilesComponent,
],
providers: [{provide: APP_BASE_HREF, useValue: '/'}]
})
router = TestBed.get(Router);
location = TestBed.get(Location);
fixture = TestBed.createComponent(AppComponent);
router.initialNavigation();
});
it('should navigate to files', fakeAsync(() => {
const loader = TestBed.get(NgModuleFactoryLoader);
loader.stubbedModules = {lazyModule : FilesModule }
router.resetConfig([
{path: 'files', loadChildren: 'lazyModule'},
]);
router.navigate(['files']);
tick(50);
fixture.detectChanges();
expect(location.path()).toBe('/files');
}));
});
Спасибо!