E D R , A S I H C RSS

googletest

Google Test Framework


https://code.google.com/p/googletest/
cpp 기반의 테스트 프레임워크이며 Linux기준에서 간편하게 사용할수 있다. 크로미늄 프로젝트의 기본 테스트 프레임워크이며 cpp의 테스팅을 보다 쉽게 하는데에 중점을 두고 있다. main함수에서 test함수를 호출해야 하기 떄문에 make와 -D 플래그를 활용하여 테스트 버전과 아닌버전을 따로 따로 컴파일 해야한다. 이클립스 플러그인을 제공하는 JUnit와 비교가 되는 점이나 JUnit도 콘솔 환경에서 코딩할경우 마찬가지 문제가 있으므로 비슷비슷 하다고 할수 있다. make파일을 한번 잘 작성하면 어렵지는 않으므로 할만하다.

설치

Linux


  • Fedora

# sudo yum install gtest gtest-devel

사용법

예제 소스

#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;
}

컴파일

#yum 으로 깐경우
gcc -c main.cpp
gcc -lgtest -o main main.cpp

#소스로 깐경우
gcc -c -I[include 폴더 위치] main.cpp
gcc -o main -lgtest -L[라이브러러리 경로] main.cpp

yum으로 깐경우 기본 경로에 추가해주기때문에 별도의 include, library path 설정이 필요없다.

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:31:40
Processing time 0.0173 sec