通用性越高的庫或框架,就越必要添加單元測試。
對于一個完整的 UI 庫而言,通常應該包含如下內容:
其中,文檔與示例用于提供給庫的使用者,示例使其能夠直觀地判斷這個庫是否能夠滿足自己的需求,而文檔可以指導其在自己的項目中集成并使用該庫。
而自動化測試,是提供給 UI 庫的開發及維護人員,它能夠帶來以下好處:
降低人工測試的成本;雖然編寫及維護測試腳本需要付出額外的成本,但從長遠來看,這些成本通常遠比采用人工測試要低地多;
保證該庫在后續的開發維護過程中不會出現意料之外的問題;在修改代碼「比如優化、重構、修改或添加新的功能等」后,往往需要重新進行測試,這時人工測試通常無法保證覆蓋到每一個測試點,這時就會為項目帶來隱患;
評估其可用性;一般編寫測試的過程就是使用這個庫的過程,這時我們可以方便地評估這個庫的可用性是否良好;
提供穩定可靠的印象;一般情況下,開發人員更偏向于使用提供單元測試的庫,這會避免一些不必要的風險。
當然,以上觀點只是對于通用性較高的庫而言的。
而對于與業務相關的 UI 部分,通常由于其界面變動較為頻繁,維護其測試腳本的成本會很高,與其專門招一兩個懂得自動化測試的工程師來維護測試腳本,還不如用比較低的工資招聘幾個人進行人工測試來的成本低,這時就需要根據項目所需的穩定程度來仔細權衡了。