背景
程序开发与单元测试二者密不可分,是每个开发人员的基本业务。当功能性代码开发完成后,要自行测试其是否满足设计预期,如果不满足就要回去完善代码,满足则可以提交功能代码及测试用例。
测试用例的另一个重要作用就是阅读者了解代码的“一扇窗”,因为测试用例是程序的入口。
测试用例要覆盖每个接口所有分支,即保证每个待测函数的功能是正常的。
多个接口序列化功能需要提供完整序列化组合测试用例,例如: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 生成物目录

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



2123

被折叠的 条评论
为什么被折叠?



