E D R , A S I H C RSS

googletest

Difference between r1.1 and the current

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

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

== 설치 ==
=== Linux ===
@@ -15,4 +16,46 @@
1. {{{make}}}

== 사용법 ==
계속작성중
=== 예제 소스 ===
{{{
#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 설정이 필요없다.
----
[도구분류]



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