介绍
本示例主要介绍如何在HarmonyOS NEXT应用中使用GTest测试C++代码。目前鸿蒙没有提供官方C++测试框架,部分Native开发为主的应用可以参考本文接入三方测试框架保证C++代码质量。GTest 是 C++ 测试框架,具有稳定、跨平台、快速等特点,能够为 C++ 开发人员提供有效的单元测试和集成测试工具。GTest 支持 Linux、macOS 和 Windows 操作系统,同时支持 gcc、clang 和 MSVC 等多种编译器和构建系统。GTest 还提供了大量的失败信息,方便开发人员排查问题。
测试效果预览
GTest接入流程说明:
-
编译GTest 下载好压缩包解压,按照三方库适配的内容构建产物,把对应的平台(arm64-v8a)产物放到对应的lib目录下。本文以CMake交叉编译构建为例。
-
引入头文件和链接库 引入压缩包include下的GTest头文件,可以放在cpp目录下,并将第一步构建好的gtest和gtest_main动态链接库和对应的软链接放到模块下的libs相应目录。
-
编写测试代码 这里用nativesavepictosandbox的dl_util.cpp文件为例。
#include "gtest/ohosTest.h" #include "dl_util.h" #include <dlfcn.h> #include <ostream> const char libCurlDownload[256] = "libcurlDownload.so"; typedef std::string (*DownloadInternetFileFunc)(char *, char *); /** * TestSuiteName_TestCaseName 的组合应该是