Gtest 單元測試初試
下載,安裝,省略,直接上demo源碼
===========linux運行gtest=================
----------------code.cpp------------------- #include "code.h" int f( int a ){ return a+1;} int b( int b ){ return b+2;} ----------------code_test.cpp------------------- #include "code.h" #include <gtest/gtest.h> EXPECT_EQ( 2,f( 1 ) );//這個測試執行函數f,參數為1,查看返回值是不是2 EXPECT_EQ( 3,f( 2 ) ); } TEST( TEST_B,NAME ){ EXPECT_EQ( 4,b( 2 ) ); } ----------------main_test.cpp------------------- #include <gtest/gtest.h #include <iostream> int main(int argc, char **argv) { testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); } ----------------運行-------------------------- gcc $(gtest-config --ldflags --libs) -o main_test code.cpp code_test.cpp main_test.cpp -I /home/sosotest/include -lgtest -L /home/sosotest/lib ----------------運行-------------------------- ./main_test [==========] Running 4 tests from 4 test cases. [----------] Global test environment set-up. [----------] 1 test from TEST_A [ RUN ] TEST_A.NAME [ OK ] TEST_A.NAME (0 ms) [----------] 1 test from TEST_A (0 ms total) [----------] 1 test from TEST_B [ RUN ] TEST_B.NAME [ OK ] TEST_B.NAME (0 ms) [----------] 1 test from TEST_B (0 ms total) [----------] Global test environment tear-down [==========] 2 tests from 2 test cases ran. (0 ms total) [ PASSED ] 2 tests. |
===========windows運行gtest=================
STEP1: 下載cygwin安裝,默認在c:\cygwin
STEP2: 下載gtest1.6,解壓并拷貝到cygwin的目錄下,即c:\cygwin的某個子目錄下
STEP3: hack src/gtest.cc:808行的gettimeofday(window沒有這個函數,參考http://blog.chinaunix.net/uid-140978-id-3029195.html)
替換 :gettimeofday(&now, NULL);
替換成:
FILETIME ft;
long long *time64 = (long long *) &ft;
GetSystemTimeAsFileTime (&ft);
*time64 -= 116444736000000000LL;
*time64 /= 10;
now.tv_sec = *time64 / 1000000;
now.tv_usec = *time64 % 1000000;
STEP4: 進入make子目錄,去掉Makefile中的最后一行的 -lpthread(window無pthread庫)
STEP5: 執行make,生成并運行sample1_unittest.exe,截圖略
posted on 2014-03-20 10:55 順其自然EVO 閱讀(448) 評論(0) 編輯 收藏 所屬分類: 測試學習專欄