代码之家  ›  专栏  ›  技术社区  ›  MarcoLe

角度单元测试中从html获取routerlink属性

  •  0
  • MarcoLe  · 技术社区  · 7 年前

    我有以下HTML属性:

       <ul>   
          <li class="nav-item" routerLinkActive="active">
            <a class="nav-link" [routerLink]="['/home']">Home</a>
          </li>
        </ul>
    

    我现在想在单元测试中获得一个值。到目前为止,在我的测试用例中:

      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(); 因为我没有在这个特定的组件中使用生命周期挂钩。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Kim Kern    7 年前

    你真的要跑 fixture.detectChanges() .这不仅限于生命周期钩子,还涉及到一般的变更检测(几乎所有 魔术 角度是的)。

    我创造了一个 Stackblitz 证明测试失败 detectChanges 和它一起跑。