#鸿蒙通关秘籍#如何在HarmonyOS NEXT中使用GTest框架进行C++项目单元测试?

HarmonyOS
2024-12-03 09:43:56
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
ROM风绘长空
  1. 准备和编译GTest库
    借助CMake工具在HarmonyOS NEXT环境中配置与编译GTest库,生成目标arm64-v8a架构的二进制文件。

  2. 代码目录与链接库配置
    创建测试相关代码文件,在代码开头引入GTest头文件,将gtest库和gtest_main库的动态链接文件及其软链接放置于项目模块对应的libs目录中以确保编译过程成功。

  3. 编写与执行测试用例
    使用TEST宏定义具体测试用例,并通过ASSERT等宏函数进行测试验证。示例代码如下:

    #include "gtest/ohosTest.h"
    #include "dl_util.h"
    #include <dlfcn.h>
    const char libCurlDownload[256] = "libcurlDownload.so";
    
    TEST(DlUtilTest, loadLibraryTest) {
        void *handler = load_library(libCurlDownload);
        ASSERT_NE(handler, nullptr);
        dlclose(handler);
    }
    
    GTEST_API_ int main(int args, char **argv) {
        printf("Running main() from %s\n", __FILE__);
        testing::InitGoogleTest(&args, argv);
        return RUN_ALL_TESTS();
    }
    
  4. 配置CMakeLists文件
    在项目的CMakeLists文件中,设置测试可执行文件创建逻辑,指定需要链接和打包的测试源文件及包含库。

    link_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../libs/${OHOS_ARCH}/)
    set(TEST_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../)
    file(GLOB_RECURSE TEST_SRC_FILES ${TEST_SRC_DIR}/*.cpp)
    add_executable(util_test ${TEST_SRC_FILES} dl_util.cpp)
    target_link_libraries(util_test PUBLIC gtest gtest_main libace_napi.z.so libcurlDownload.so libhilog_ndk.z.so librawfile.z.so)
    
  5. 编译和运行测试
    利用CMake和构建工具链执行构建流程,生成测试可执行文件。然后使用shell脚本将该文件推送到测试设备进行测试结果的校验与验证。

分享
微博
QQ
微信
回复
2024-12-03 11:47:47
相关问题
HarmonyOS怎么进行单元测试
137浏览 • 1回复 待解决
如何对UI描述进行单元测试
684浏览 • 1回复 待解决
如何在C++项目中使用pthread
2265浏览 • 1回复 待解决
鸿蒙单元测试怎么实现
7781浏览 • 1回复 待解决
HarmonyOS 单元测试Local Test 问题
483浏览 • 1回复 待解决
单元测试文件如何能运行起来
2476浏览 • 1回复 待解决
HarmonyOS 是否支持cucumbor单元测试
283浏览 • 1回复 待解决
HarmonyOS 单元测试 自动化测试方案
103浏览 • 1回复 待解决
HarmonyOS单元测试如何引入context
410浏览 • 1回复 待解决
怎么写单元测试用例?
2270浏览 • 1回复 待解决