初步了解鸿蒙的单元测试基础

  文章转载链接www.51testing.com/html/30/n-7...

  概述

  单元测试对大部分人来说可能有些陌生,一般公司也不会要编写单元测试,但实际上小型的 单元测试可以带来优秀的代码质量,并且单元测试体量小,因此更容易设计,执行,记录以及分析结果。尤其像我们 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 稳定性,同时也希望更多的开发者能重视单元测试。

相关推荐
ckjoker1 天前
让AI给AI当法官:手敲LLM-as-a-Judge评估系统,25次调用跑出最弱维度
llm·agent·测试
程序员天天困3 天前
JaCoCo 代码覆盖率:Spring Boot 集成与报告解读
单元测试·测试
一孤程4 天前
Airtest自动化测试第五篇:小程序与Web测试——跨平台自动化全覆盖
前端·自动化测试·小程序·自动化·测试·airtest
一孤程4 天前
PerfDog性能测试实战——从入门到性能优化全覆盖
性能优化·性能测试·测试·perfdog
用户125758524364 天前
Go 里读取 request body 后,下游拿不到参数:别让日志中间件把请求吃掉
http·go·测试
ClouGence5 天前
零代码自动化测试工具回演 CueCast 新版本发布:数据变量、多标签页录制与登录准备能力上线
selenium·测试
MegatronKing5 天前
AI时代我们要如何玩抓包测试
前端·后端·测试
Apifox6 天前
让 AI Agent 稳定使用 Apifox:新版 CLI + Skill 正式上线!
ai编程·测试·命令行
刘棕霆7 天前
32—AI Skill 测评不是“跑一下”:从环境预检到 PASS 门禁的完整作战图
aigc·ai编程·测试