После моего комментария fixture.detectChanges
должен решить вашу проблему.
Что касается модульного тестирования: как вы уже догадались, unit тестирования означает тестирование модуля.
Единица - это кусок кода
- , который вы написали сами
- , который определен в данной области (функция, класс)
- у которого есть зависимости (инъекция, параметры ...)
Когда вы тестируете этот модуль, у вас есть несколько шагов для соблюдения
- Макет зависимостей
- Изолировать устройство
- Проверка побочных эффектов
Целью модульного тестирования является предотвращение побочных эффектов от изменений .
Например, у вас есть компонент, который просто окрашивает кнопку в зеленый цвет, если HTTP-ответ равен 200.
Цель модульного теста - убедиться, что цвет становится зеленым, если ответ равен 200..
Это означает, что если вы не получите 200, цвет не должен измениться, а если вы получите 200, цвет должен быть только зеленым.
Применительно к вашему случаю цель вашего теста будет заключаться в том, чтобы удостовериться, что закусочная вызывается с вашим пользовательским компонентом.
Не ваша цель проверить работу закусочной .Снэк-бар сам по себе является единицей, которую вы не кодировали: юнит-тестирование снэк-бара тестируется юнитами Углового материала, а не вы.
В порядке ваш тест не ошибается: это просто дубликат другого теста, поэтому он «бесполезен» в том смысле, что он уже был протестирован.
Если вы продолжите такое тестирование, вы потратите в 3, 4 раза больше времени, чем потратили бы тестирование, что в конечном итоге неэффективно.