日本好好热aⅴ|国产99视频精品免费观看|日本成人aV在线|久热香蕉国产在线

  • <cite id="ikgdy"><table id="ikgdy"></table></cite>
    1. 西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
      軟件
      軟件
      文章
      搜索

      首頁編程開發(fā)其它知識 → 單元測試工具CppUTest怎么用?

      單元測試工具CppUTest怎么用?

      相關(guān)軟件相關(guān)文章發(fā)表評論 來源:西西整理時間:2013/5/16 8:58:59字體大。A-A+

      作者:西西點擊:51次評論:1次標(biāo)簽: 單元測試

      • 類型:編程輔助大。3.3M語言:英文 評分:6.6
      • 標(biāo)簽:
      立即下載

      最近學(xué)習(xí)如何進行單元測試,于是研究了一下CppUTest的用法,雖然這工具經(jīng)常被推薦,但奇怪的是網(wǎng)上資料缺比較少,可能是因為太簡單了的原因吧,先記錄下來給自己看。

      1.下載CppUTest

      2.Linux常用安裝三板斧

      ./configure --prefix=目錄

      make

      make check

      3.使用

      CppUTest上有一個如何開始的說明

      先編寫一個cpp文件

       1 /*注意,這個頭文件必須包含,不然編譯就報錯,比較坑的是官網(wǎng)并沒說要添加這個*/
       2 #include "CppUTest/UtestMacros.h" 
       3 
       4 TEST_GROUP(FirstTestGroup)
       5 {
       6 };
       7 
       8 TEST(FirstTestGroup,FirstTest)
       9 {
      10     FAIL("fail me!");
      11 }
      然后再編寫一個cpp文件
      

       1 /*這幾個頭文件最好都包含了,反正以后也要用*/
       2 
       3 #include "CppUTest/CommandLineTestRunner.h"
       4 #include "CppUTest/TestPlugin.h"
       5 #include "CppUTest/TestRegistry.h"
       6 #include "CppUTestExt/MockSupportPlugin.h"
       7 
       8 int main(int ac,char** av)
       9 {
      10     return CommandLineTestRunner::RunAllTests(ac, av);
      11 }
      最后再編寫一個Makefile文件
      

       1 CC=gcc

       2 CXX=g++
       3 
       4 #自己定義這個路徑
       5 CPPUTEST_HOME=/root/usr/cpputest-3.4
       6 
       7 FLAGS= -c
       8 
       9 CPPFLAGS += -I$(CPPUTEST_HOME)/include
      10 
      11 CFLAGS += -include $(CPPUTEST_HOME)/include/CppUTest/MemoryLeakDetectorNewMacros.h
      12 CXXFLAGS += -include $(CPPUTEST_HOME)/include/CppUTest/MemoryLeakDetectorMallocMacros.h
      13 
      14 LD_LIBRARIES = -L$(CPPUTEST_HOME)/lib -lCppUTest -lCppUTestExt
      15 
      16 #自己定義最后程序的名稱
      17 TARGET=alltests
      18 
      19 #自己定義有哪些文件
      20 OBJECTS=AllTest.o cpputest.o
      21 SOURCES=AllTest.cpp cpputest.cpp
      22 
      23 $(TARGET):$(OBJECTS)
      24     $(CXX) $^ $(LD_LIBRARIES) -o $@ 
      25 
      26 
      27 .cpp.o:
      28     $(CXX) $(FLAGS) $(CPPFLAGS) $(CXXFLAGS) $< -o $@
      29     
      30 .c.o:
      31     $(CXX) $(FLAGS) $(CPPFLAGS) $(CFLAGS) $< -o $@
      32     
      33 clean:
      34     rm *.o $(TARGET)

      然后make通過,就可以直接執(zhí)行了

      最后看到輸出“fail me”就哦了。

      基本用法的說明

      簡單的CppUTest分成兩個部分

      TEST_GROUP(FirstTestGroup) { };

      TEST(FirstTestGroup,FirstTest) { }

      TEST_GROUP的內(nèi)部定義自己測試中需要用到的變量和一些自己的函數(shù)(變量和函數(shù)只有定義在這個里面,屬于這一組的測試才能使用這些變量和函數(shù)),而且在TEST_GROUP中還可以繼承兩個CppUTest的函數(shù)

      void setup(){}//這個函數(shù)中對變量進行初始化

      void teardown(){}//對一些變量進行銷毀

      TEST部分中就填入我們想要做的測試用例

      CppUTest提供了很多的宏,如CHECK(bool),LONGS_EQUAL(excepted,actual)…等等宏,就行一些檢測,而不需要去關(guān)心C++語言的類的那些問題,所以CppUTest也可以用于C語言。

      目前我能看到的用法就這么多,以后有了新的用法再擴展。

        相關(guān)評論

        閱讀本文后您有什么感想? 已有人給出評價!

        • 8 喜歡喜歡
        • 3 頂
        • 1 難過難過
        • 5 囧
        • 3 圍觀圍觀
        • 2 無聊無聊

        熱門評論

        最新評論

        發(fā)表評論 查看所有評論(1)

        昵稱:
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)