我想使用 Google Test / Mock 为我的 DLL 中的代码编写单元测试。测试代码应该被编译到我的 DLL 中。
我在 Google Test Primer 中读到这是可能的,但是 gtest 必须编译成 DLL(我猜 gmock 也是如此)。
是否有人编译并使用该框架作为 DLL,并且可以告诉我最重要的项目设置(我使用 VS2010)以及如何使用生成的 DLL 来运行测试?
我想使用 Google Test / Mock 为我的 DLL 中的代码编写单元测试。测试代码应该被编译到我的 DLL 中。
我在 Google Test Primer 中读到这是可能的,但是 gtest 必须编译成 DLL(我猜 gmock 也是如此)。
是否有人编译并使用该框架作为 DLL,并且可以告诉我最重要的项目设置(我使用 VS2010)以及如何使用生成的 DLL 来运行测试?
GoogleTest 和 GoogleMock 不需要编译成.dll。
而是说它们需要使用与Runtime Library
使用(链接)它们(/MD
或/MT
)的项目相同的设置进行编译。 运行时库设置
一致性是关键!链接任何库(LIB 或 DLL)时,它们应具有与Runtime Library
项目相同的设置(反之亦然)。
我还建议使用相同的Character Set
设置。
设置预处理器标志 (properties->c/c++->Preprocessor->Preprocessor Definitions) GTEST_CREATE_SHARED_LIBRARY 将 Gmock 构建为 dll,并使用 GTEST_LINKED_AS_SHARED_LIBRARY 构建消耗 gmock 的 dll