E D R , A S I H C RSS

googletest

Difference between r1.5 and the current

@@ -1,7 +1,7 @@
= Google Test Framework =

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

== 설치 ==
=== Linux ===


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.0395 sec