我有以下HTML属性:
<ul>
<li class="nav-item" routerLinkActive="active">
<a class="nav-link" [routerLink]="['/home']">Home</a>
</li>
</ul>
我现在想在单元测试中获取href作为值。到目前为止,在我的测试用例中:
it('should navigate have login navigation', () => {
const debugElements = fixture.debugElement.queryAll(By.css('a.nav-link'));
debugElements.forEach(x => console.log(x.properties['href']));
});
});
但这是每次
undefined
。如何从rounterLink指令中获取href?顺便说一句,我不需要执行fixture.detectChanges();
,因为我没有在此特定组件中使用生命周期挂钩。 最佳答案
您实际上必须运行fixture.detectChanges()
。这不仅限于生命周期挂钩,而且通常涉及更改检测(Angular所做的几乎所有魔术)。
我创建了一个Stackblitz,表明没有detectChanges
并使用它运行测试失败。
关于javascript - 在Angular单元测试中从HTML获取routerLink属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51233756/