Это действительно модульное тестирование?Если тестируемая целевая система является компонентом, разве это не тестирование всего модуля?
Определение модульного тестирования заключается в тестировании небольших блоков исходного кода, а компоненты на самом деле являются небольшими модулями.исходного кода.
Но тогда, как показано в приведенном ниже коде, вы можете просто импортировать другие необходимые модули, компоненты, директивы, каналы через общий или функциональный модуль.
наименьшая единица исходного кода, которая может быть проверена в JavaScript, является чистой функцией .Если вы чистейший, тогда все, что больше , больше не является наименьшей единицей, но Angular является объектно-ориентированной структурой, поэтому в рамках этой парадигмы мы можем сказать, что объект является наименьшим блоком.Так что такие вещи, как компоненты, сервисы, активаторы, средства распознавания, которые являются объектами, могут быть охвачены модульным тестом.
Или это просто уступка, что было бы почти невозможно высмеять все требования вреальное приложение?
Удачи в попытке протестировать систему после того, как она будет построена.
Если вы хотите создать что-то, что можно протестировать, то сначала напишите тесты.
https://en.wikipedia.org/wiki/Test-driven_development
Чистые компоненты
Чистый компонент является компонентом без внешних зависимостей, не изменяет внешнее состояние и генерирует равный выход для тех же входов.Компонент, имеющий пользовательскую форму, не может быть pure так же, как new Date()
не чист.
Фреймворки модульного тестирования понимают эти real-world проблемы и предлагать решения, такие как издевательство, шпионаж и т. д., чтобы позволить тестировщику покрыть нечистый исходный код тестами, которые проверяют ожидания в pure повторяемым способом.
Это все, что вы можете сделать, но это все еще модульное тестирование, и вот что важно.