Files
Serendipity cf19a37a97 feat(test): 添加单元测试框架并完善国际化支持
- 新增 CMake 测试框架配置,支持 safe_string、string_ext 和 path_manager 模块的单元测试
- 实现 Windows API Mock 机制,便于测试编码转换函数
- 添加 error_code 模块的字符串表示函数,支持英文错误日志
- 在 UI 回调函数中集成国际化翻译,覆盖新建、编辑、导入导出等操作提示
- 扩展 string_list 功能,新增重复路径检查函数
- 更新翻译文件,同步所有用户界面的中英文文本
2026-04-30 11:38:05 +08:00

41 lines
1.0 KiB
CMake

# PathEditor 单元测试框架
cmake_minimum_required(VERSION 3.10)
# 测试子项目配置
project(PathEditorTests C)
# 设置 C 标准(与主项目一致)
set(CMAKE_C_STANDARD 17)
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_C_EXTENSIONS OFF)
# 包含主项目的头文件路径
include_directories(
${CMAKE_SOURCE_DIR}/include
${CMAKE_SOURCE_DIR}/include/core
${CMAKE_SOURCE_DIR}/include/ui
${CMAKE_SOURCE_DIR}/include/controller
${CMAKE_SOURCE_DIR}/include/utils
${CMAKE_SOURCE_DIR}/libs/IUP/include
${CMAKE_SOURCE_DIR}/libs/lua/include
${CMAKE_SOURCE_DIR}/libs/gettext/include
)
# 获取 CMocka(如果系统没有则下载)
include(FetchContent)
FetchContent_Declare(
cmocka
GIT_REPOSITORY https://git.cryptomilk.org/projects/cmocka.git
GIT_TAG cmocka-1.1.5
)
FetchContent_MakeAvailable(cmocka)
# 启用测试
enable_testing()
include(CTest)
# 添加各测试模块
add_subdirectory(unit/safe_string)
add_subdirectory(unit/string_ext)
add_subdirectory(unit/path_manager)