Advertisement

gtest 编写 DLL 工程的单元测试

阅读量:

一、背景说明

在任何阶段为代码添加单元测试(或接口测试)都不会显得迟滞,而在 C/C++ 领域中,应用最为广泛的单元测试框架应当属于 googletest。

在实际工程开发中,采用 gtest 进行单元测试的常见方式是以库文件的形式进行实现,这种方法操作简便且直接,本文将不再详细展开。

然而,在多数工程代码中,并非仅包含 EXE 文件,这些 EXE 文件通常会依赖至少一个 DLL 文件。同时,这些 DLL 文件往往不会将所有函数或类导出供外部使用,仅会导出极少数内容。(注:本文仅探讨 gtest 在 Windows 平台上的应用)

由此引发了一个问题:如何借助 gtest 对 DLL 中未被导出的函数或类执行单元测试呢?

二、解决方案

以示例形式说明,假设整个 Solution 包含以下三个 project:

coreTest 工程:作为 mainTest 工程所依赖的 DLL 库;

mainTest 工程:整个 Solution 的主程序入口,用于调用 coreTest.dll 的 EXE 文件;

unitTest 工程:将 gtest 框架封装为 DLL 形式的工程。

关于具体代码实现及工程属性配置的详细内容,建议参考完整的示例代码。

若需利用 gtest 对 DLL 中未导出的函数或类执行单元测试,可能存在如下两种途径:

创建一个新

全部评论 (0)

还没有任何评论哟~