概述:Google Test 测试框架备忘
如何测试DLL文件
隐式步骤加载
步骤
- 在测试项目中配置动态库的头文件路径和导入库(.lib文件)。
- 直接调用
DLL导出的函数,Google Test用例编写与普通函数测试无异
1 2 3 4
| #include "dll_header.h" TEST(DllTest, BasicFunction) { EXPECT_EQ(dll_add(2, 3), 5); }
|
适用场景:DLL已明确导出符号,且测试环境能正确加载依赖项。
显式步骤加载
步骤
- 使用
LoadLibrary(Windows)或dlopen(Linux)加载DLL。
- 通过
GetProcAddress或dlsym获取函数指针并调用。
1 2 3 4 5 6 7 8
| TEST(DllTest, DynamicLoad) { HINSTANCE hDll = LoadLibrary(L"mylib.dll"); ASSERT_NE(hDll, nullptr) << "DLL加载失败"; auto func = (int(*)(int, int))GetProcAddress(hDll, "dll_add"); ASSERT_NE(func, nullptr) << "函数未找到"; EXPECT_EQ(func(2, 3), 5); FreeLibrary(hDll); }
|