지난 글에서 gtest로 유닛테스트에 관한 글을 작성했다. 업무하면서 googletest를 설치하고 가볍게 따라할 수 있도록 gtest를 설치하는 방법을 기록해 보자.
gtest(googletest) 다운로드
googletest의 설치는 git 을 이용해 아주 쉽게 할 수 있다. 다만, 나는 업무에서 C++ 11버전을 사용하는데 gtest 최신 버전은 이를 지원하지 않는다. 따라서 구버전의 gtest가 필요하다.
Windows PC에 git 을 설치하고 cmd에서 버전 명령을 통해 실행되는지 확인하자.
git --version
git이 잘 실행된다면 온라인에 등록된 googletest git 저장소 에서 clone 명령어를 통해 다운로드 받을 수 있다.
gtest는 설치 후 별다른 설정 없이 컴파일러를 이용해 빌드할 수 있으므로, build폴더를 생선한다.
mkdir C:\libs
## C++11 과 호환되는 1.10.0 버전을 설치
git clone --branch release-1.10.0 https://github.com/google/googletest.git
## build폴더 생성
cd .\googletest
mkdir build
나는 현재PC에 MinGW 32비트 환경을 이용하고 있어서, cmake설정을 변경 후 빌드하면 관련된 라이브러리들이 생성된다.
cd build
cmake .. -G "MinGW Makefiles" `
-DCMAKE_BUILD_TYPE=Release `
-DCMAKE_CXX_COMPILER="C:/Program Files (x86)/M2I Corp/MuLiN Creator/tools/i686-w64-mingw32/bin/g++.exe" `
-DCMAKE_C_COMPILER="C:/Program Files (x86)/M2I Corp/MuLiN Creator/tools/i686-w64-mingw32/bin/gcc.exe"

프로젝트에 인터페이스를 사용하기위한 include 파일과 library(.a) 파일을 추가하고 빌드환경을 설정하면 유닛테스트 환경설정이 완료된다.
나는 프로젝트에 불필요한 libgmock을 제외하고 libgtest만 프로젝트에 추가해 환경을 좀더 간결하게 만들 수 있었다.
회고
gtest를 보면서 컴팩트하게 프로젝트를 제한하고, git을 통해 배포 및 빌드할 수 있도록 환경을 제공해 주는 점이 굉장히 편리하게 다가왔다.
현재 진행중인 프로젝트에는 gtest를 빌드해서 넣어버렸지만, 환경에 따라 각자 PC에서 빌드하도록 자동화하거나 프로젝트에 gtest를 같이 넣어버리는 것도 좋은 방법같다.
신규 프로젝트에선 유닛테스트 까지 고려해 프로젝트를 시작한다면, 전반적으로 개발속도를 향상시킬 수 있지 않을까?
'개발' 카테고리의 다른 글
| Service 기반 시스템 권한 기능 구현기 — 권한 분리 환경에서 IPC구현과 QLocalSocket DACL 문제 (0) | 2025.12.12 |
|---|---|
| Service 기반 시스템 권한 기능 구현기 — JSON 프로토콜과 OS 추상화 설계 (1) | 2025.12.10 |
| Windows·Linux에서 시스템 권한을 다루는 올바른 아키텍처 설계 (1) | 2025.12.03 |
| 산업용 제어 장치에서의 인증서 처리와 OPC UA 보안 이해하기 (1) | 2025.11.28 |
| C++ 프로젝트에 유닛 테스트(gtest)를 도입하며 얻은 경험과 교훈 (0) | 2025.11.24 |