2013-03-20 16 views
3

我想用Google Test/Mock編寫我的DLL中的代碼進行單元測試。測試代碼應該被編譯到我的DLL中。Google在一個DLL中測試

我在谷歌測試入門讀過這是可能的,但gtest必須編譯成一個DLL然後(我猜gmock也是一樣的)。

是否有人編譯並使用了框架作爲DLL的,可以告訴我最重要的項目設置(我使用VS2010)以及如何使用生成的DLL來運行測試?

回答

3

GoogleTest和GoogleMock不需要編譯成.dll。dll

相反,它表示需要使用與項目消耗(鏈接)相同的Runtime Library設置來編譯它們(/MD/MT)。 Runtime Library Settings

一致性是關鍵!鏈接任何庫(LIB或DLL)時,它們應該與項目具有相同的Runtime Library設置(反之亦然)。

Runtime Library Options

我也建議使用相同的Character Set設置。

+0

謝謝!然後我簡單地誤解了評論。我會試一試。 – anhoppe 2013-03-20 16:35:56

+0

@anhoppe評論的措辭不太確定,因爲當我第一次使用GoogleTest時,我也感到困惑。 – 2013-03-20 17:08:26

+0

是的,可以驗證你的答案,它的工作原理!謝謝 – anhoppe 2013-03-21 11:53:39

1

集預處理標誌(屬性 - > C/C++ - > Preprocessor->預處理定義)GTEST_CREATE_SHARED_LIBRARY打造Gmock爲DLL,並建立消耗gmock與GTEST_LINKED_AS_SHARED_LIBRARY的dll

+1

歡迎來到計算器。感謝您的回答。請添加更多的細節到你的答案和[編輯](http://stackoverflow.com/editing-help)它使它更具可讀性。 – Ram 2015-01-23 16:33:33

相關問題