Вызов TestBed.createComponent
вызовет конструктор компонента, но не хуки жизненного цикла.
Хук жизненного цикла OnInit
будет вызываться при первом вызове fixture.detectChanges()
, что вы делаете перед каждым тестом. Вот почему me
имеет значение welcome
вместо того, чтобы быть неопределенным.
Вы можете исправить это, удалив fixture.detectChanges()
из beforeEach
и переместив его в отдельные тесты, которые в нем нуждаются (и это будет все, кроме одного, если он не пройден). Вам не нужно вызывать ngOnInit
вручную в последнем тесте после замены строки на fixture.detectChanges()
.
Вызов ngOnInit
вручную может быть полезен, если вы хотите протестировать свой компонент без углового тестового стенда - тогда вам придется самостоятельно позаботиться о зависимостях и жизненных циклах, которые я не предлагаю.