初步了解鴻蒙的單元測試基本
概述
單元測試對大部分人來說可能有些陌生,一般公司也不會要編寫單元測試,但實際上小型的 單元測試可以帶來優秀的代碼質量,并且單元測試體量小,因此更容易設計,執行,記錄以及分析結果。尤其像我們 ZEGO 即構音視頻 SDK ,有些接口在 app 上沒有體現,那么單元測試也能夠測的更完整。接下來以鴻蒙的 DevEco Studio工具為例,來演示如何做單元測試。
創建第一個測試用例
在自己的項目里選擇需要單元測試的類,單機右鍵選擇[Generate],就會出現以下彈窗,選擇 [Test] 即可。

做完第一步操作后會出現一個新的彈窗, 華為的開發工具默認選擇的是 [JUnit3] 這里大家可以選擇使用 [JUnit4] ,[JUnit3]中,測試類需要繼承junit.framework.TestCase類, 而在 [JUniy4] 則不用, 另外 [JUnit4] 使用的是注解,寫起來更方便,我個人也推薦使用 [Junit4], 因為用注解實在是太香了。

按照上圖點擊確定后會創建出一個單元測試類,那么我們在上面加一個 @FixMethodOrder 注解就好,FixMethodOrder可以指定該類的方法執行順序,內置了3種模式,3種模式區別如下:
我一般用的是 JVM ,按照定義的方法順序執行,比如我們 即構音視頻 SDK 需要先初始化SDK,再登錄房間,再進行推流,再進行拉流,需要4個步驟按順序執行,用這個模式可以處理前置條件。

在定義的函數上加一個 @Test 注解,說明該函數是單元測試函數,在 run 單元測試的時候會先跑第一個函數。

使用 [assertNotNull] 來判斷創建 SDK 引擎是否成功,如果 [SDK] 返回 [null] 說明第一個函數測試失敗,另外創建引擎后可以把 [SDK] 對象作為靜態對象,這樣在單元測試里可以讓多個函數共享一個對象。
其實還有很多斷言函數,可以參考如下:
點擊運行單元測試

運行后在左下角能看到該方法執行結果。
總結
鴻蒙的單元測試用的是[JUnit]還是非常容易上手的,單元測試只是測試一個方法單元,不是測試一整個流程,在進行系統測試前可以先使用單元測試自測,出錯后修復成本更低,列如我們 ZEGO 即構音視頻 SDK 在發布新的版本會進行大量的測試,為了保證質量 我們不僅僅會通過單元測試,自動化模擬業務的接口測試,最后再會經過完整鏈路的人工測試,保證交付出去的 SDK 穩定性,同時也希望更多的開發者能重視單元測試。