天天看點

關于Angular裡給Component protected方法寫單元測試的技巧

本文寫作背景是,我需要開發一個單元測試,能夠測試到protected convertListItem方法。

關于Angular裡給Component protected方法寫單元測試的技巧

我直接敲service., Visual Studio Code的代碼自動完成清單裡,沒有出現convertListItem,因為它是protected方法。但我們要知道,因為Angular TypeScript編譯後生成的是JavaScript代碼,而JavaScript裡是不存在protected方法概念的,是以我們可以使用第244行這種動态調用的方式,實作在運作時仍然能夠執行convertListItem方法的目的。

關于Angular裡給Component protected方法寫單元測試的技巧

其實有個更佳的做法,因為getData調用load, load調用convertListItem:

關于Angular裡給Component protected方法寫單元測試的技巧

是以我隻需要在單元測試裡對getData進行測試,一樣能達到測試convertListItem的效果。

關于Angular裡給Component protected方法寫單元測試的技巧

繼續閱讀