반응형

gtest 7

[googletest문법6]TEST_F()확실하게 이해하자!

GoogleTest TEST_F() - 예제로 배우는 C++ 테스트 픽스처 앞서 예제를 통해 TEST()와 TEST_F()의 차이점까지 이해가 되었다면 간단하지만 조금 더 실무적인 예제를 통해 TEST_F()의 사용법을 이해해 볼 수 있습니다. 또한 결과를 보기위해 다양한 방법으로 컴파일 할 수 있지만 좀 더 사용 용도가 많은 구조를 만들어 보기위해 프로젝트 내에 src, test가 분리되며 각 폴더에 CMakeLists.txt를 사용해 보겠습니다.1. 프로젝트 구조이번 예제는 CMake 기반으로 구성하고, src와 test 폴더를 분리하여 실제 프로젝트와 유사한 구조로 만들어봅니다.MyProject/ ├── src │ ├── CMakeLists.txt │ ├── UserManager.h │ └── Us..

[googletest문법5]TEST() 이해2

CSV 파싱 로직과 Google Test 예제1. 프로젝트 구조이전 예제들과 동일하게 Windows + Cygwin + VSCode 환경과 CMake 기반 프로젝트를 가정하며, 디렉터리 구조는 아래와 같습니다.project-root/ ├── src/ │ ├── csv_parser.h │ └── csv_parser.cpp ├── test/ │ ├── test_csv_parser.cpp │ └── test_main.cpp └── CMakeLists.txt src 디렉터리에 CSV 파싱 관련 로직(CSVParser 라이브러리)을 구현합니다.test 디렉터리에 Google Test를 이용한 테스트 코드를 작성합니다.최상위 CMakeLists.txt에서 프로젝트 및 Googletest 설정을 하고, src/CMa..

[googletest문법4]파라메터 이용 TEST_P() 사용법

Parameterized Tests (TEST_P)로 여러 입력 검증하기Google Test에는 단일 테스트 케이스를 여러 입력 값으로 반복 실행할 수 있는 매개변수화된 테스트 기능이 있습니다.TEST_P()와 INSTANTIATE_TEST_SUITE_P() 매크로를 사용하면, 하나의 테스트 로직에 여러 입력/출력 데이터를 제공하여 중복 코드를 줄이고, 다양한 케이스를 한꺼번에 검증할 수 있습니다.이번 예제에서는 팩토리얼(Factorial) 계산 함수를 테스트합니다.팩토리얼 함수(Factorial)는 음수가 아닌 정수 _n_에 대해 n! (n 팩토리얼)을 계산합니다.정상적인 입력에 대해 올바른 결과를 반환하는지, 음수 입력에 대해서는 예외를 던지는지 검증할 것입니다.프로젝트 구조는 다음과 같이 구성합니다..

[googletest문법3]테스트 픽스처 TEST_F() 사용법

Googletest의 TEST_F()의 사용법Googletest를 이용하여 가장 일반적으로 사용할 수 있는 단위 테스트 방법인 TEST()에 대해서 이전 글을 통해 학습하였다면 이제는 한 걸음 더 나아가 TEST_F()를 살펴 보겠습니다. 1. TEST() vs. TEST_F() 비교이전 글에서 소개 했던 TEST()와 TEST_F()의 차이점이 뭘까요? [Googletest문법2]단일테스트 TEST() 작성방법Google Test를 활용한 단일 테스트 케이스 작성 이번 글에서는 Google Test의 TEST 매크로를 활용하여 단일 테스트 케이스를 작성하는 방법을 알아보겠습니다. 예제는 문자열이 회문인지 판별하는 함all-tech-hub.tistory.comTEST()TEST()는 간단한 단일 테스트를..

[Googletest문법2]단일테스트 TEST() 작성방법

Google Test를 활용한 단일 테스트 케이스 작성 이번 글에서는 Google Test의 TEST 매크로를 활용하여 단일 테스트 케이스를 작성하는 방법을 알아보겠습니다. 예제는 문자열이 회문인지 판별하는 함수를 중심으로 진행됩니다. 프로젝트를 구성하기위한 환경은 Windows기반으로Cygwin, VS Code를 사용하였습니다. 각 설치하는 방법은 이전 문서들을 참고할 수 있습니다.환경은 달라져도 TEST()작성 방법은 동일 합니다.미리 모든 환경이 설치 되어 있다고 가정하고 실제 프로젝트 생성하는 부분부터 설명이 진행됩니다. 단일 테스트 작성하는 방법은 다양한 예제에서 이용할 수 있으므로 다음 방법을 익힌 후 각자의 문제에 적용하시길 바랍니다. 다음 프로젝트에서는 "회문(Palindrome)"을 판단..

[TDD C++(2)]VS Code+Gtest 환경 설정

VS Code 기반으로 GTest를 사용법GoogleTest 설치하는 글에서 간단하게 VS Code에서 테스트 코드를 실행하여 정상적인 gtest를 확인했습니다. 본 글에서는 VS Code와 gtest를 통해 개발할 때 이용할 수 몇가지 도구를 소개합니다. 빌드 자동화 도구를 이용해 보겠습니다. 개발환경을 갖추기위해 다음 1, 2, 3의 도구는 미리 설치되어 있어야 합니다. 1. VS Code 설치 VS Code는 설치 되어 있어야 하므로 아직 설치 전이라면 다음 문서를 통해 설치할 수 있습니다.   [VSCode]Windows에 VS Code를 먼저 설치해볼까!VS Code 설치 가이드1. VS Code란?VS Code(Visual Studio Code)는 Microsoft에서 제공하는 무료 코드 편집..

[TDD C++(1)]TDD 도구 설치! GoogleTest란? 또 구글!

Windows기반 GoogleTest 설치하기 Google Test(googletest)는 구글에서 개발한 C++ 단위 테스트(Unit Testing) 프레임워크입니다. 대표적으로 다음과 같은 특징을 자랑하고 있습니다.쉽고 직관적인 API로 다양한 테스트(동등성, 예외 처리, 성능 등)를 작성할 수 있습니다.단독 실행 파일을 만들어 터미널이나 CI 환경에서 테스트를 쉽게 실행할 수 있습니다.테스트 스위트(Test Suite) 단위로 구분하거나, Parameterized Tests 등을 사용해 유연하게 테스트 케이스를 구성할 수 있습니다.C++ 표준 라이브러리, POSIX, Windows API 등에 의존적이지 않아서 이식성이 좋습니다.즉, Google Test를 사용하면 C++ 코드의 동작을 자동으로 검..