iT邦幫忙

2021 iThome 鐵人賽

DAY 22
0
Mobile Development

如何使用 Kotlin Annotation Processor 做出自己的 Custom Data Parser Library系列 第 22

規劃 Parser 的測試

規劃測試方式

測試是寫 library 很重要的一環,因為我們要確保自己的程式碼有一個基本的品質,測試是絕對不能馬虎的。測試 Parser 要分成兩個部分來看,一個是純 Kotlin 的部分,另一個是 Android 的部分。純 Kotlin 的部分可直接利用已定義好的 XML 檔案模擬 RSS 的資料來源,而 Android 的部分就又要在分成兩個部分來看,第一個部分是只有單純測 Android Parser 的部分,因為它跟純 Kotlin 的不同在於,我們在 Android Parser 裡面有用到 XmlPullParser,而這個東西只有在 Android 的平台上面才有,所以我們不能像純 Kotlin Parser 一樣去跑 local unit test ,要跑在 Android 的 instrumental test 才行。要跑 instrumental test 就要跑在實機或是模擬器上面,這樣子當然是比 local unit test 慢一些。Android 測試的第二個部分就是 Reader 的測試,有包含到 RSS data fetcher 和 data base cache 等等的測試,那我們就會需要用到一些 mocking library 來協助我們去做測試,Mocking library 我們選用 MockK 來做測試。

測試方式

  • Kotlin
    • Local unit tests with XML files.
  • Android
    • Parser - Instrumental tests with XML files.
    • Reader
      • Local unit tests
      • Instrumental tests

先想好測試案例

首先,我們要先列出有哪些案例是想要測試的,除了正常的 happy path 測試之外,也盡量去符合一些邊際條件,然後按照那些案例去寫 XML 檔案。

我們可以粗略先把案例分成幾組:

  • RSS standard
  • iTunes
  • GooglePlay
  • 混合所有的平台格式

這幾組的測試案例裡面每組當然也包括了正面和反面的測試案例。接著,就可以來編一些測試用的 XML 。

螢幕擷取畫面 2021-09-15 191100.png

對於測試的檔案有興趣的朋友可以直接到這邊看每個檔案實際上的資料長怎麼樣,這邊就不再贅述了。


上一篇
Parser Generator (三)
下一篇
Parser 的單元測試
系列文
如何使用 Kotlin Annotation Processor 做出自己的 Custom Data Parser Library30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言