2010년 12월 9일 목요일

googletest

최근에 Visual Studio 와 C++ 을 쓰면서 unit test framework 를 찾다 googletest 에 도착했다.
생각보다 간단히 설치되고 사용도 간편했다. eclipse 에서 junit 쓰는 것 보단 복잡하고 파란막대가 나오진 않지만..
googletest 에서 소스를 통째 다운 받는다.
압축을 풀어보면 여러 폴더들이 나오고 msvc 폴더에 보면 Visual Studio 의 프로젝트 파일이 들어있다. Visual Studio 에서 열어 빌드하고 gtest.lib 가 나오면 프로젝트에 연결해서 사용하면 된다.
빌드할때 런타임 라이브러리를 위와 같이 맞춰야 한다는데 어떤 차이가 있는지 시간날때 한번 알아봐야 겠다.


실제 코드는 샘플만 봐도 쉽게 알 수 있을 만큼 직관직이다. 굳이다.
test fixture 를 사용하는 걸 간단히 보면
// ::testing:Test 를 상속받아 클래스를 만든다.
class ModuleTest : public ::testing:Test {
  ModuleTest() {}
  virtual ~ModuleTest() {}
  virtual void Setup() {}
  virtual void TearDown() {}
}
// 만든 클래스로 테스트를 한다.
TEST_F(ModuleTest, 모듈_1_입력테스트) {
  ASSERT_EQ(expected, actual);
}