OpenHarmony实战开发: unittest单元测试的编写

背景

程序开发与单元测试二者密不可分,是每个开发人员的基本业务。当功能性代码开发完成后,要自行测试其是否满足设计预期,如果不满足就要回去完善代码,满足则可以提交功能代码及测试用例。

测试用例的另一个重要作用就是阅读者了解代码的“一扇窗”,因为测试用例是程序的入口。

测试用例要覆盖每个接口所有分支,即保证每个待测函数的功能是正常的。

多个接口序列化功能需要提供完整序列化组合测试用例,例如:Open(), DoSomething(), Close()。

以下用 msdp 组件 device_status 子系统下待测 utility.cpp 源文件为例进行说明。

一、向 Utility.cpp 增加单元测试

待测源文件属于通用的、独立的功能性 API,所以直接调用每个接口。

1. 待测源文件所在目录

.\base\msdp\device_status\utils\common\include\utility.h
.\base\msdp\device_status\utils\common\src\utility.cpp

2. UtilityTest 测试用例代码

不存在的文件进行添加,存在的进行修改。

3. UtilityTest 单元测试的编译

UtilityTest 名称是在./base/msdp/device_status/test/unittest/utils/BUILD.gn 中规定的。

./build.sh --product-name rk3568 --build-target UtilityTest --fast-rebuild
// 或者
./build.sh --product-name rk3568 --build-target ./base/msdp/device_status/test/unittest/utils:UtilityTest --fast-rebuild

4. UtilityTest 生成物目录

OpenHarmony实战开发: unittest单元测试的编写_第1张图片

二、测试

将编译生成的物拷贝到本地测试目录,然后运行脚本,在测试目录 log 下查看运行日志

1. UtilityTest 测试目录

你可能感兴趣的:(鸿蒙开发,OpenHarmony,HarmonyOS,harmonyos,华为,linux,移动开发,鸿蒙,测试,log4j)