반응형
첫 번째 cpp gtest code
목차
- google test 설치 방법
- google test 수행 방법, ASSERT와 EXPECT (본 글)
- google test 다양한 ASSERT, EXPECT 테스트 방법
- google test 실제 코드에서 컴파일 및 수행 방법
들어가며
앞서 google test를 설치하는 방법에 대해 알아보았습니다. 이번 포스팅에서는 gtest 수행 방법과 ASSERT와 EXPECT에 대해 알아보겠습니다.
gtest 수행 방법, 코드와 컴파일 방법
$ g++ -o 02.1.test 02.1.test.cpp -lgtest -std=c++14
$ ./02.1.test
[==========] Running 2 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 2 tests from TestName
[ RUN ] TestName.Subtest_1
[ OK ] TestName.Subtest_1 (0 ms)
[ RUN ] TestName.Subtest_2
02.1.test.cpp:6: Failure
Value of: 1 == 2
Actual: false
Expected: true
[ FAILED ] TestName.Subtest_2 (0 ms)
[----------] 2 tests from TestName (0 ms total)
[----------] Global test environment tear-down
[==========] 2 tests from 1 test suite ran. (0 ms total)
[ PASSED ] 1 test.
[ FAILED ] 1 test, listed below:
[ FAILED ] TestName.Subtest_2
1 FAILED TEST
ASSERT와 EXPECT
ASSERT_TRUE에서 ASSERT의 경우 하나의 테스트가 PASS되지 않고 FAIL이 되게 되면 그 즉시 테스트가 종료됩니다. 즉, 다음 테스트로 넘어가지 않게 되는 것이죠.
$ g++ -o 02.2.test 02.2.test.cpp -lgtest -std=c++14
$ ./02.2.test
[==========] Running 2 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 2 tests from TestName
[ RUN ] TestName.Subtest_1
02.2.test.cpp:5: Failure
Value of: 1 == 2
Actual: false
Expected: true
[ FAILED ] TestName.Subtest_1 (0 ms)
[ RUN ] TestName.Subtest_2
[ OK ] TestName.Subtest_2 (0 ms)
[----------] 2 tests from TestName (0 ms total)
[----------] Global test environment tear-down
[==========] 2 tests from 1 test suite ran. (0 ms total)
[ PASSED ] 1 test.
[ FAILED ] 1 test, listed below:
[ FAILED ] TestName.Subtest_1
1 FAILED TEST
ASSERT가 FAIL인 경우 테스트가 종료되지만, EXPECT를 사용하면 계속 테스트를 진행할 수 있습니다.
$ g++ -o 02.3.test 02.3.test.cpp -lgtest -std=c++14
$ ./02.3.test
[==========] Running 2 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 2 tests from TestName
[ RUN ] TestName.Subtest_1
02.3.test.cpp:5: Failure
Value of: 1 == 2
Actual: false
Expected: true
[ FAILED ] TestName.Subtest_1 (0 ms)
[ RUN ] TestName.Subtest_2
[ OK ] TestName.Subtest_2 (0 ms)
[----------] 2 tests from TestName (0 ms total)
[----------] Global test environment tear-down
[==========] 2 tests from 1 test suite ran. (0 ms total)
[ PASSED ] 1 test.
[ FAILED ] 1 test, listed below:
[ FAILED ] TestName.Subtest_1
1 FAILED TEST
위 코드의 경우는 Subtest_1에서 FAIL이 발생하였지만, Subtest_2 까지 수행됨을 확인할 수 있습니다.
마치며
여기까지 잘 수행되셨나요? 이번 포스팅에서는 gtest를 사용하여 첫 번째 cpp 테스트 코드를 작성해보았습니다.
다음 시간에는 ASSERT와 EXPECT에 대해 더 자세히 알아보도록 하겠습니다.
언제나 여러분들께 도움이 되었으면 합니다. 그럼 다음 포스팅에서 만나요!
REFERENCE
https://google.github.io/googletest/primer.html
https://youtu.be/nbFXI9SDfbk?si=p2FdrHz8dEFhtAp-
반응형
'컴퓨터 > C & C++' 카테고리의 다른 글
[C++] google test 실제 코드에서 컴파일 및 수행 방법 (2) | 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 |
[C++] 함수 포인터와 활용 예제 (0) | 2023.08.03 |
댓글