Google Test Framework ¶
https://code.google.com/p/googletest/
cpp 기반의 테스트 프레임워크이며 Linux기준에서 간편하게 사용할수 있다. 크로미늄 프로젝트의 기본 테스트 프레임워크이며 cpp의 테스팅을 보다 쉽게 하는데에 중점을 두고 있다. main함수에서 test함수를 호출해야 하기 떄문에 make와 -D 플래그를 활용하여 테스트 버전과 아닌버전을 따로 따로 컴파일 해야한다. 이클립스 플러그인을 제공하는 JUnit와 비교가 되는 점이나 JUnit도 콘솔 환경에서 코딩할경우 마찬가지 문제가 있으므로 비슷비슷 하다고 할수 있다. make파일을 한번 잘 작성하면 어렵지는 않으므로 할만하다.
cpp 기반의 테스트 프레임워크이며 Linux기준에서 간편하게 사용할수 있다. 크로미늄 프로젝트의 기본 테스트 프레임워크이며 cpp의 테스팅을 보다 쉽게 하는데에 중점을 두고 있다. main함수에서 test함수를 호출해야 하기 떄문에 make와 -D 플래그를 활용하여 테스트 버전과 아닌버전을 따로 따로 컴파일 해야한다. 이클립스 플러그인을 제공하는 JUnit와 비교가 되는 점이나 JUnit도 콘솔 환경에서 코딩할경우 마찬가지 문제가 있으므로 비슷비슷 하다고 할수 있다. make파일을 한번 잘 작성하면 어렵지는 않으므로 할만하다.
Linux ¶
- Fedora
# sudo yum install gtest gtest-devel
- From Source
- https://code.google.com/p/googletest/downloads/list에서 최신버전을 받는다.
- 압축을 푼다
make
- https://code.google.com/p/googletest/downloads/list에서 최신버전을 받는다.
예제 소스 ¶
#include <gtest/gtest.h> #include <iostream> using namespace std; int add(int, int); TEST(main, addTest){ //given int a = 3; int b = 5; //when int result = add(a, b); //then ASSERT_EQ(result, 8); } int main(int argc, char ** argv){ testing::InitGoogleTest(&argc, argv); int retval = RUN_ALL_TESTS(); if(retval != 0) return retval; } int add(int a, int b){ return a + b; }