C++/Google Test 사용

작성일: 2013-01-10




googletest - Google C++ Testing Framework
http://code.google.com/p/googletest/

1. 개발환경 설정 (for VS) #

  • 다운로드
  • 라이브러리 빌드
/msvc/gtest-md.sln 솔루션 열어 Debug, Release 빌드.

/msvc/Release/gtest.lib
/msvc/Release/gtest_main-md.lib
/msvc/Debug/gtest.lib
/msvc/Debug/gtest_main-md.lib
생성 됨.
  • VC++ 디렉토리 포함
  • 테스트 프로젝트 예


20130110_1.png
[PNG image (34.16 KB)]




2. Assertions #

2.1. Basic Assertions #

Fatal assertionNonfatal assertionVerifies
ASSERT_TRUE(condition);EXPECT_TRUE(condition);condition is true
ASSERT_FALSE(condition);EXPECT_FALSE(condition);condition is false

2.2. Binary Comparison #

Fatal assertionNonfatal assertionVerifies
ASSERT_EQ(expectedactual);EXPECT_EQ(expectedactual);expected == actual
ASSERT_NE(val1val2);EXPECT_NE(val1val2);val1 != val2
ASSERT_LT(val1val2);EXPECT_LT(val1val2);val1 < val2
ASSERT_LE(val1val2);EXPECT_LE(val1val2);val1 <= val2
ASSERT_GT(val1val2);EXPECT_GT(val1val2);val1 > val2
ASSERT_GE(val1val2);EXPECT_GE(val1val2);val1 >= val2

2.3. String Comparison #

Fatal assertionNonfatal assertionVerifies
ASSERT_STREQ(expected_stractual_str);EXPECT_STREQ(expected_stractual_str);the two C strings have the same content
ASSERT_STRNE(str1str2);EXPECT_STRNE(str1str2);the two C strings have different content
ASSERT_STRCASEEQ(expected_stractual_str);EXPECT_STRCASEEQ(expected_stractual_str);the two C strings have the same content, ignoring case
ASSERT_STRCASENE(str1str2);EXPECT_STRCASENE(str1str2);the two C strings have different content, ignoring case


3. 기타 #

3.1. Google Test UI #

Google Test UI is an independent addition for googletest.
훌륭한 xUnit 스타일 c++ unit testing framework. 강력히 추천함.




이 글에는 0 개의 댓글이 있습니다.