# Kaiming 单元测试说明

## 1️⃣ 测试前准备
1.安装包：lcov 和 libtimedate-perl   

2. 修改 CMakeLists.txt

   打开项目根目录下的 CMakeLists.txt:./

    * 取消最后一行的注释：

      add_subdirectory(test/cpptest)

    * 注释掉：
      #add_subdirectory(ok)
      #add_subdirectory(dbusproxy)

    * 注释掉 “安全编译选项” 区域的内容，但保留如下行：

      message(STATUS "LINKER:${CMAKE_LINKER}, VERSION:${CMAKE_CXX_COMPILER_LINKER_VERSION}")

3. 启用单元测试编译选项

    option(ENABLE_COVERAGE "Enable coverage flags" ON)

## 2️⃣ 编译项目

1. 创建并进入 build 目录（如不存在则创建）

2. 使用 Debug 模式配置项目：

   cmake -DCMAKE_BUILD_TYPE=Debug ..

3. 编译

## 3️⃣ 运行单元测试

1. 在 kaiming项目根目录下直接运行:

   ./test/cpptest/kmtest

2. 可选：使用自动化脚本运行并生成覆盖率报告：

   ./test/cpptest/auto_test.sh

## 4️⃣ 查看测试结果

* 输出结果会显示每个测试用例的执行情况。
* 覆盖率文件生成在 `test/.report/` 下，或通过查找 `*.gcda` 文件：

  find . -name "*.gcda"
