Вы должны издеваться над своей стратегией маршрутизации.Как я вижу, вы используете routingModule
внутри вашего TestBed imports
.Предположим, что ваши собственные routingModule
предоставляют только свои собственные маршруты и не смогут имитировать / шпионить за другими маршрутами.Поэтому я рекомендую вам сначала настроить Test helper routes
внутри test.helper.ts
export const TestRoutingImports = [
HttpClientTestingModule,
RouterTestingModule, // <-- Use RouterTestingModule instead
];
Модули (RouterTestingModule) настраивают маршрутизатор, который будет использоваться для тестирования.Он предоставляет шпионские реализации Location, LocationStrategy и NgModuleFactoryLoader.
RouterTestingModule предоставляет макеты, RouterModule нет.
Второе, что вам нужно сделать, это удалить свойprovide
с испытательного стенда.Это здесь не обязательно.Я имею в виду следующую часть:
{
provide: ActivatedRoute, useValue: {
snapshot: { params: { id: 1 } }
}
},
Удалите это, потому что это будет Переопределением поставщиков компонентов.В вашем случае это не нужно.
Я надеюсь, что смогу вам помочь.