规划 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

对於测试的档案有兴趣的朋友可以直接到这边看每个档案实际上的资料长怎麽样,这边就不再赘述了。


<<:  自动化测试,让你上班拥有一杯咖啡的时间 | Day 13 - 动态跳过测试用例

>>:  Day 27 实作 user_bp (5)

[Day 29] 阿嬷都看得懂的 JQuery 怎麽写

阿嬷都看得懂的 JQuery 怎麽写 昨天我们聊到怎麽使用 document 这个咒语,让神灯精灵帮...

[29] 用 python 刷 Leetcode: 404

原始题目 Given the root of a binary tree, return the s...

【第31天】番外篇-Windows + YOLOV4 本地端训练

摘要 前言 工具 流程 前言 【第3天】资料前处理-YOLOv4与自动框选中文字曾提及,Window...

# 安能取熊掌而舍鱼? 玩转阴影

安能取熊掌而舍鱼? 玩转阴影 阴影可以让使用者介面变得更加美观,更有质感,更有层次。因此学会使用阴影...

PHP 规范

PHP FIG PHP Framework Interop Group 简称 PHO FIG, 一个...