1
我剛剛開始使用Angular2,但我嘗試測試我編寫的每個組件。測試具有傳遞依賴性的Angular2組件
當我編寫組件測試時,我必須初始化TestBed,以便測試組件可以解決所有(傳遞)依賴關係。
現在我能想到的三種方法
- 含試驗下的部件導入整個模塊 - 它應該申報或導入所有必需的依賴
- 顯式聲明的測試代碼
- 模擬所有所有的依賴依賴關係 - 所以他們沒有自己的依賴關係
我想第一個解決方案可能會導致問題,當我需要嘲笑的東西,在主模塊中聲明。第二個需要我手動更改所有依賴測試,當我嘗試添加任何新的依賴關係組件。我沒有測試第三個,所以我不知道它是否可行。
處理這個問題的最佳方法是什麼?
雖然這是它有很多的限制,因爲你只是嘲諷標籤不更換類的實現本身一個有效的方法。像這樣的東西不會工作。 '@ViewChild(SubComponent)sc;然後再調用sc.callFn()'。由於模擬實現具有不同的類名,所以Testbed注入器將永遠不會找到這個類。 – Julian