首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Angular单元测试中从超文本标记语言获取routerLink属性

在Angular单元测试中从超文本标记语言获取routerLink属性
EN

Stack Overflow用户
提问于 2018-07-08 23:58:55
回答 1查看 482关注 0票数 0

我有以下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中没有使用生命周期钩子。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-09 00:18:08

实际上,您必须运行fixture.detectChanges()。这并不局限于生命周期钩子,而是涉及到一般的变更检测(因此,几乎所有Angular都可以做到)。

我已经创建了一个Stackblitz,演示了在没有detectChanges并使用它运行的情况下测试是失败的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51233756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档