gtest使用---LINUX

1348 ワード

1.概念
gtest,テストフレームワークは,異なるプラットフォーム上でC++テストを記述するために生成される.xUnitフレームワークのテスト結果に基づいて、自動発見テスト、豊富な断言セット、ユーザー定義の断言、deathテスト、致命と非致命の失敗、タイプパラメータ化テスト、各種運行テストのオプションとXMLのテスト報告をサポートする.
2.例
インスタンスに含まれるファイル:function.h、function.cpp、ut_all.cpp、ut_function.cpp、Makefile;
function.h:主に関数を明らかにするために用いられ、またcodeがライブラリにカプセル化された後、ユーザーに使用される場合、ソースコードの漏洩を避けることができる一方で、ユーザーにライブラリ関連の露出インタフェースをよりよく理解させることができる.
#ifndef _FUNCTION_H
#define _FUNCTION_H

int add(int num1, int num2);
#endif

function.cpp:インタフェースの主な実現;
#include "function.h"

int add(int num1, int num2)
{
	return num1+num2;
}

ut_function.cpp:主に開発の過程で自己測定を完成するために用いられ、製品が後日市場でバグが発生する確率を低減するのに便利である.
#include "gtest/gtest.h"
#include "function.h"

TEST(addtest, success)
{
	ASSERT_EQ(2, add(1,1));
}

ut_all.cpp:テストインタフェースの入口と見なす;
#include "gtest/gtest.h"
#include 

using namespace std;

int main(int argc, char* argv[])
{
	testing::InitGoogleTest(&argc,argv);
	return RUN_ALL_TESTS();
}

Makefile:コンパイル中、コマンドライン入力の苦痛を減らす;
all:
	g++ -o ut_test *.cpp *.h -lgtest -lpthread

3.注意点
>コンパイル時に、リンクが必要なライブラリを指定してください(example:gtest)
>コンパイル前にgtestをインストールします.インストールチュートリアルはたくさんありますが、ここでは説明しません.