Gtest創建第一個測試


gtest測試框架是在不同平台上(Linux,Mac OS X,Windows,Cygwin,Windows CE和Symbian)為編寫C++測試而生成的。它是基於xUnit架構的測試框架,支持自動發現測試,豐富的斷言集,用戶定義的斷言,death測試,致命與非致命的失敗,類型參數化測試,各類運行測試的選項和XML的測試報告。需要詳細了解的朋友可以參閱《玩轉Google單元測試框架gtest系列》該篇文章。

http://www.cnblogs.com/coderzh/archive/2009/03/31/1426758.html

下面就針對這篇文章建立自己的第一個測試,以及測試搭建環境

准備工作

1、打開VS2010,新建windows console application解決方案demo,預編譯頭文件

2、下載文章中提供的鏈接,gtest 1.3.0-zip,解壓。

3、打開\gtest-1.3.0\msvc,使用vs2010編譯gtest.sln解決方案,生成Debug文件夾,里面有個gtestd.lib文件,一會有用,額外說明的是這個文件是在Debug模式下使用,另外還可能生成一個gtest.lib文件,是在Release模式下使用的,下面默認是在Debug模式下進行

4、在demo.cpp中加入代碼

// demo.cpp : 定義控制台應用程序的入口點。
//

#include "stdafx.h"
#include <gtest/gtest.h>

int Foo(int a, int b)
{
    if (a == 0 || b == 0)
    {
        throw "don't do that";
    }
    int c = a % b;
    if (c == 0)
        return b;
    return Foo(b, c);
}


TEST(FooTest, HandleNoneZeroInput)
{
    EXPECT_EQ(2, Foo(4, 10));
    EXPECT_EQ(6, Foo(30, 18));
}

int _tmain(int argc, _TCHAR* argv[])
{
     testing::InitGoogleTest(&argc, argv);
     

    return RUN_ALL_TESTS();
    //getchar();
    system("pause");

}

5、在demo解決方案的屬性頁面中加入,需要附加的目錄,因為需要使用一些gtest的頭文件,如上面程序中的gtest.h,否則程序不知道一些宏是從哪來的

我的目錄C:\Users\Administrator\Desktop\gtest-1.3.0\include

6、設置調試模式。本例采用靜態運行庫的Debug模式,對應的/MTd,所以是下圖所示,若是Release模式下可以選擇/MT

關於運行庫的說明參見http://www.cnblogs.com/eddyshn/archive/2009/11/23/1608823.html

7、在demo解決方案的屬性頁面中加入,需要鏈接的庫文件的地址,即是剛才提到的lib所在的文件夾路徑

我的是C:\Users\Administrator\Desktop\gtest-1.3.0\msvc\Debug\gtestd.lib

6、遺憾的是沒有出現這個頁面,用了各種方法都不行啊,評論里也有這種情況,難道是版本的問題,待解決,希望誰知道告我一聲哦

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM