我有以下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();
,因为我在这个特殊的comp中没有使用生命周期钩子。
发布于 2018-07-09 00:18:08
实际上,您必须运行fixture.detectChanges()
。这并不局限于生命周期钩子,而是涉及到一般的变更检测(因此,几乎所有Angular都可以做到)。
我已经创建了一个Stackblitz,演示了在没有detectChanges
并使用它运行的情况下测试是失败的。
https://stackoverflow.com/questions/51233756
复制相似问题