簡體   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