[英]How to write unit test for a cpp library already exist using google test
有一個類似於libxml2的庫。 它已經存在。 我不會創建一個新的庫。 我想使用Google測試對現有庫進行單元測試。 我正在使用Visual Studio2013。我需要良好的參考或任何幫助來開始使用。
使用gtest並不是很復雜並且有充分的文件記載 。
設置構建
令人驚訝的主要內容是如何在項目中使用它。 “官方”方式是在源中復制整個存儲庫。
例如,您可以通過克隆在項目中創建googletest子目錄: https : //github.com/google/googletest.git
然后,您需要將其添加到項目的構建中。 這取決於您使用的構建系統和所使用的平台。 我對Visual Studio不了解,但這應該很容易適應。 您需要擴展包含路徑(只能對測試對象執行此操作):
TEST_CFLAGS=-I$(GTEST_DIR)/include -I$(GTEST_DIR)
並在要與測試鏈接的對象中添加gtest-all.o
(或Windows上的等效項)。
您還必須創建一個新目標,因為您的單元測試將由二進制文件啟動。 同樣,我不確定如何使用Visual Studio處理它,但是對於普通用戶來說應該很容易。
編寫測試
開始編寫測試很容易。 但是,編寫好的測試很困難,我也不會介紹,有很多好的書籍 , 網站,但最重要的是,這需要實踐和時間。
要編寫您的第一個測試,您將需要一個非常容易編寫的主文件(例如main.cc):
#include <gtest/gtest.h>
int main(int argc, char **argv)
{
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
一個很好的起點是看例子 。 然后,您可以按照gtest doc中的入門知識,對基本功能有所了解。 如果您覺得自己需要更多,可以閱讀高級指南 。
最后的話
祝您單元測試和(希望)測試驅動的開發旅途順利。 一開始這可能很難。 不要放棄快速,回報是巨大的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.