1. 下載GTest源碼:
git clone https://github.com/google/googletest.git
下載下來的google gtest源碼目錄結構如下,里面包含了很多東西,這里我們只是想利用gtest對自己的代碼進行單元測試,因此只需要關注紅框所求的文件夾即可,其他的暫時不需要關注
2. 使用CLion新建一下C++項目,把gtest引入到項目中,將上面googletest目錄放在external下面了,這個目錄隨意,看個人喜好了。
3. 完成上面的操作后,打開項目的CMakeList.txt,添加gtest相關的配置,這里主要完成3個動作
(1)設置GOOGLETEST_VERSION變量,這個變量,其實是在googletest-master目錄下的CMakeLists.txt中設置的,在googlegtest目錄下的CMakeLists.txt中使用,如果我們不在項目的CMaksLists.txt中設置這個變量,則gtest的編譯會失敗,這點非常重要。
(2)添加googletest目錄到項目中,這個很簡單
(3)添加target link,這個示例中,我新了一個demotest.cpp,里面用來放置單元測試用例相關的代碼,將其編譯為二進制可執行文件,來對正式項目代碼進行測試,因為它依賴於gtest_main,因此這里必須把它們link起來,否則,test_main的編譯會失敗。
然后寫一個最簡單的示例:
#include <iostream> #include "gtest/gtest.h" #include "demotest.h" using namespace ::testing; class GTestDemo : public Test { public: GTestDemo() : Test() { } ~GTestDemo() override { } void SetUp() override { Test::SetUp(); std::cout << "I am setup" << std::endl; } void TearDown() override { Test::TearDown(); std::cout << "I am teardown" << std::endl; } }; TEST_F(GTestDemo, tc_example_01) { std::cout << "GTestDemo" << std::endl; }
運行結果如下: