Blog categories

Comments

[C++] Google Test Visual Studio에 수동으로 적용하기

[C++] Google Test Visual Studio에 수동으로 적용하기

Visual Studio 2017에서는 기본적으로 Google Test Adapter를 제공하지만, 이를 수동으로 추가해야 하는 경우라면 다음과 같이 수행 한다.

1. Google Test Build

Google Test Github 페이지에서 최신 버전의 google test 소스 코드를 다운 받는다.

다운 받은 파일의 압축을 풀고
googletest/msvc/2010/
폴더에서 Visual studio 솔루션 파일인 gtest.sln 을 실행시킨다.

폴더의 경로는 버전에 따라 다를 수 있다.

Visual studio에서 googletest를 빌드 한다.

Image module

여기서 기본 솔루션 플랫폼은 Win32로 되어 있지만, x64플랫폼으로 변경하여 빌드하였다.

2. Project에 googletest library 추가

googletest를 기존의 프로젝트에서 사용하기 위해 googletest/include 폴더의 header file들과 googletest/msvc/2010/gtest/x64-Debug 폴더의 library 파일들을 현재 프로젝트 밑의 googletest 폴더에 복사한다.

Image module

이후 프로젝트에서 googletest library를 추가한다.

a. C/C++ option 변경

C/C++ > 일반 > 추가 포함 디텍터리에 include 폴더를 추가하고,
런타임 라이브러리를 다중 스레드 디버그 (/MTd) 로 교체한다.

Image module
Image module

b. 링커 option 변경

링커 > 입력 > 추가 종속성에 lib 파일들을 추가한다.

Image module

3. Test 작성

pre-compiled header에 gtest 헤더를 추가한다.

#include <gtest/gtest.h>

Test를 위한 class를 및 Test 코드를 작성한다.

class MyTest : public ::testing::Test 
{
    void SetUp() override {
        // Code here will be called immediately after the constructor (right
        // before each test).
    }

    void TearDown() override {
        // Code here will be called immediately after each test (right
        // before the destructor).
    }
};

TEST(MyTest, defaultTest)
{
    EXPECT_TRUE(true);
}

Test 수행을 위한 main 문을 작성한다.

int main(int argc, char **argv)
{
    ::testing::InitGoogleTest(&argc, argv);

    return RUN_ALL_TESTS();
}

프로젝트를 수행하면 다음과 같다.

Image module

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

div#stuning-header .dfd-stuning-header-bg-container {background-image: url(https://tech.sangron.com/wp-content/uploads/sites/2/2018/11/cpp_wallpaper_background.jpg);background-color: #3f3f3f;background-size: cover;background-position: top center;background-attachment: initial;background-repeat: no-repeat;}#stuning-header div.page-title-inner {min-height: 350px;}