Unit Test Project에 설정

1.기존 gtest site에서 source download (https://code.google.com/p/googletest/)

2.압축을 푼 후 msvc 폴더의 gtest.sln solution파일 열기

3.Release로 전체 build로 gtest.lib 생성

4.include폴더의 gtest폴더와 gtest.lib 파일을 새로운 UnitTest Project에 복사

5.새로운 UnitTest Project에 (Win32 Console Project) Project 속성페이지->C/C+ 항목에 추가포함 디렉토리에 gtest include폴더의 위치를 설정. ex)../Include

6.UniteTest Project의 속성페이지->Linker의 입력항목에 gtest.lib 추가

7.속성페이지 C/C+에서 code generation(코드 생성)에서 Runtime Library설정을 Multi Thread로 변경(/MT)

  1. main() 함수에 추가

    testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS();

9.기타 google test 항목 추가

10.Run

TEST_F() 사용법

1.Fixture class 만들기

  • ::testing::Test를 상속하여 Test용 class 새로 생성

  • 생성자, 소멸자 만들기

  • SetUp(), TearDown()을 통해 consruct, deconstruct 구현

2.TEST_F()함수로 Test 추가

  • 1.parameter에 Fixture class

  • 2.parameter에 enum {}으로 선언한 type 설정

    ex) enum dsp_open {}; 
    TEST_F(SampleLibUnitTest, dsp_open)
    { 
         int ret = test_init(0); 
         EXPECT_EQ(1, ret); 
    }
    

3.main()함수에 InitGoolgleTest()와 RUN_ALL_TESTS()수행

ex)
GTEST_API_ int main( int argc, char **argv) {
     printf ("Running main() from gtest_main.cc\n");
     testing ::InitGoogleTest(& argc, argv );
     return RUN_ALL_TESTS();
 }