簡體   English   中英

如何從父級訪問子級組件的元素以測試Angular 2?

[英]How do I access elements of child component from parent for testing Angular 2?

我正在嘗試從父組件中獲取子組件的元素,以在Karma-Jasmine中進行測試。 我有一個帶有聯系表單的組件(父),該組件又具有一個用戶名和密碼component(child),用於驗證表單和顯示錯誤消息。 現在,我需要從父組件測試子組件的警報消息。 我嘗試了以下

   let parent = fixture.debugElement.query(By.css('input-component'));
   let child = parent.query(By.css('alert'));

但是我沒有得到任何結果。 它只是返回父HTML。 我在這里找到了用於端到端測試的解決方案,但不適用於單元測試。

我該如何完成任務。 這是解釋我的情況的傻瓜

我找到了解決問題的方法。 似乎在測試時未啟用屬性“臟”和“接觸”。 因此,我通過添加以下代碼在重置或修改表單值之后手動啟用了它們...

component.parentForm.controls['childUser'].markAsDirty();
component.parentForm.controls['childUser'].markAsTouched();

我不知道這是否是使它正常工作的正確方法。 但是我找不到其他解決方案。 謝謝。 希望這對某人有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM