繁体   English   中英

如何使用Jasmine测试Ang容器6中包裹在ng容器中的元素的存在?

[英]How can I test elements wrapped in an ng-container exist for Angular 6 with Jasmine?

我试图编写一个单元测试,以查看包装在<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();
})));

我希望不必将<ng-container>包装在另一个元素中; 我在网上看到一些文章说要这样做,但是有没有办法检查Angular容器中的元素呢?

谢谢!

从评论中

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

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

要么

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM