代码之家  ›  专栏  ›  技术社区  ›  J-man

如何测试在NG容器中包裹的元素与贾斯敏的角度6存在?

  •  1
  • J-man  · 技术社区  · 6 年前

    我正在尝试编写一个单元测试,以查看元素是否包装在 <ng-container> 存在,但是我的测试失败了,因为似乎元素是以任何方式创建的。

    我的代码是:

    HTML格式

    <ng-container *ngIf="router.url === '/login'">
        <div id="login"></div>
    </ng-container>
    

    单元测试

    it('should display the login div when on the login page', fakeAsync(inject([Router], (router: Router) => {
        router.navigate(['/login']);
        fixture.detectChanges();
        expect(debugEl.query(By.css('#login'))).toBeNull();
    })));
    

    我不想把我的 <天然气容器> 在另一个元素中;我在网上看到一些文章说要这样做,但是有没有一种方法可以检查角度容器中的元素而不必在其周围?

    谢谢!

    1 回复  |  直到 6 年前
        1
  •  2
  •   Amit Chigadani    6 年前

    从评论中,

    您的单元测试未通过,因为您正在检查 toBeNull() ,这是错误的。相反,你应该检查一下

    expect(debugEl.query(By.css('#login'))).not.toBeNull(); 
    

    expect(debugEl.query(By.css('#login'))).toBeDefined();
    
    推荐文章