반응형
Assert와 Expect
목차
- google test 설치 방법
- google test 수행 방법, ASSERT와 EXPECT
- google test 다양한 ASSERT, EXPECT 테스트 방법 (본 글)
- google test 실제 코드에서 컴파일 및 수행 방법
들어가며
지난 포스팅에서는 첫 번째 google test code를 작성해보았습니다. 그리고 간단하게 ASSERT와 EXPECT에 대해서도 알아보았습니다. 이번 포스팅에서는 ASSERT와 EXPECT에 대해 더 자세히 알아보도록 하겠습니다.
ASSERT와 EXPECT에서 사용할 수 있는 macro 들
- EXPECT_TRUE(condition): 조건이 참인지 테스트
- EXPECT_FALSE(condition): 조건이 거짓인지 테스트
- EXPECT_EQ(val1, val2): val1과 val2가 같은지 테스트
- EXPECT_NE(val1, val2): val1과 val2가 다른지 테스트
- EXPECT_LT(val1, val2): val1 < val2 인지 테스트
- EXPECT_LE(val1, val2): val1 <= val2 인지 테스트
- EXPECT_GT(val1, val2): val1 > val2 인지 테스트
- EXPECT_GE(val1, val2): val1 >= val2 인지 테스트
- EXPECT_STREQ(str1, str2): 두 c_string(char*)이 같은지 테스트
- EXPECT_STRNE(str1, str2): 두 c_string(char*)이 다른지 테스트
- EXPECT_THROW(statement, exception_type): 해당 코드가 지정한 에러를 발생하는지 테스트
- EXPECT_NO_THROW(statement): 해당 코드가 오류가 없음을 확인하는 테스트
ASSERT_THAT, EXPECT_THAT 그리고 matcher
ASSERT와 EXPECT에서 사용할 수 있는 macro 중에서 _THAT이란 것이 있습니다. _THAT은 matcher를 입력받게 되는데, 여러 matcher를 사용하여 다양한 테스트를 만들 수 있습니다.
- ASSERT_THAT(actual_value, matcher)
- EXPECT_THAT(actual_value, matcher)
Matcher와 활용 코드
- Eq(value), Ne(value)
- StartsWith(prefix)
- IsEmpty()
- SizeIs(m)
마치며
이번 포스팅에서는
다음시간에는 실제로 소스코드와 테스트코드가 분리된 환경에서 어떻게 gtest를 작성하는지 그 방법에 대해 알아보도록 하겠습니다. 여러분들께 도움이 되었으면 좋겠습니다.
REFERENCE
gtest assertion: https://google.github.io/googletest/reference/assertions.html
matcher 종류: https://google.github.io/googletest/reference/matchers.html
반응형
'컴퓨터 > C & C++' 카테고리의 다른 글
[cpp] FASTA 파일을 인덱스를 사용하여 읽는 방법 (1) | 2024.06.20 |
---|---|
[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 |
댓글