반응형
실제 코드에 적용
목차
- google test 설치 방법
- google test 수행 방법, ASSERT와 EXPECT
- google test 다양한 ASSERT, EXPECT 테스트 방법
- google test 실제 코드에서 컴파일 및 수행 방법 (본 글)
들어가며
지금까지는 gtest를 설치하고 ASSERT, EXPECT의 다양한 macro들을 알아보았습니다. 이번 포스팅에서는 소스코드와 헤더파일 그리고 테스트 코드 파일이 분리된 환경에서 gtest를 수행하는 방법에 대해서 알아보겠습니다.
code design
04.factorial.cpp : factorial 를 계산해주는 함수가 있는 소스코드
04.factorial.h : factorial.cpp 의 header 파일
04.factorial_main.cpp : main 함수 소스코드
04.factorial_test.cpp : gtest 소스코드
- Compile command line
먼저 코드가 잘 작동하는지 확인하기 위해 factorial 함수가 있는 소스코드와 main 함수가 있는 소스코드를 컴파일하여 잘 수행되는지 확인해봅시다.잘 되는군요. 그다음은 test 코드를 컴파일해봅시다. $ g++ -c 04.factorial.cpp $ g++ -o 04.factorial_main 04.factorial_main.cpp 04.factorial.o $ ./04.factorial_main 120
$ g++ -o 04.factorial_test 04.factorial_test.cpp 04.factorial.o -lgtest -std=c++14
$ ./04.factorial_test
[==========] Running 2 tests from 2 test suites.
[----------] Global test environment set-up.
[----------] 1 test from FactorialTest
[ RUN ] FactorialTest.Zero
[ OK ] FactorialTest.Zero (0 ms)
[----------] 1 test from FactorialTest (0 ms total)
[----------] 1 test from factorialTest
[ RUN ] factorialTest.Positive
[ OK ] factorialTest.Positive (0 ms)
[----------] 1 test from factorialTest (0 ms total)
[----------] Global test environment tear-down
[==========] 2 tests from 2 test suites ran. (0 ms total)
[ PASSED ] 2 tests.
04.factorial_test.cpp 에 있던 두 종류의 테스트 모두 통과했음을 확인할 수 있습니다.
마치며
이번 포스팅에서는 실제로 소스코드와 헤더파일 그리고 테스트 코드 파일이 분리된 환경에서 gtest를 수행하는 방법에 대해 알아보았습니다. 다음시간에는 test fixture에 대해 알아보겠습니다. 여러분들께 도움이 되었으면 좋겠습니다.
REFERENCE
반응형
'컴퓨터 > C & C++' 카테고리의 다른 글
[cpp] FASTA 파일을 인덱스를 사용하여 읽는 방법 (1) | 2024.06.20 |
---|---|
[C++] google test 다양한 ASSERT, EXPECT 테스트 방법 (0) | 2023.09.03 |
[C++] google test 수행 방법, ASSERT와 EXPECT (0) | 2023.09.03 |
[C++] google test 설치 방법 (0) | 2023.09.03 |
[C++] 큰 수 더하기 (adding big numbers) (1) | 2023.08.05 |
댓글