У вас есть несколько вариантов здесь.
Вы можете либо смоделировать все зависимости первого уровня, либо использовать schemas: [NO_ERRORS_SCHEMA]
, чтобы игнорировать дочерние компоненты. NO_ERRORS_SCHEMA
опасно, хотя. И вам все равно придется издеваться над услугами.
Есть несколько пакетов npm, которые могут помочь, например, Spectator. Вот мое описание того, почему вы должны насмехаться, и как зритель может помочь.
https://medium.com/@fivedicephoto/why-you-shouldnt-use-no-errors-schema-in-angular-unit-tests-cdd478c30782
Но для того, чтобы Angular отображал компонент, даже для теста, он должен удовлетворять зависимостям компонента. Так что нет, настоящего пути нет. Но есть способы снять шаблон всего этого и упростить его.
Я не имею никакого отношения к Зрителю.
[Изменить]
Насмешка - это создание поддельного объекта, который удовлетворяет контракту реального. Вы можете издеваться над дочерними компонентами и сервисами, выполняя их контракты. Однако, если у вас много зависимостей, как это обычно бывает с компонентом контейнера, это тоже может быть обременительным.