2010-09-25 127 views
4

可能重複:
Suggestion for UnitTest tools for C++
Choosing a C++ unit testing tool/framework
Unit Testing C Code測試C/C++源代碼

這是我一直在現在,我們必須使用C/C疑惑++作爲我們某些大學項目的基礎語言:

在Java中有JUnit

在PHP中有PHPUnit

如何單元測試在C/C++做?這可能是一個愚蠢的問題,但我不認爲我完全讀過應用程序(源代碼)是如何進行單元測試的 - 如果在C/C++中有這樣的事情 - 除了「檢查代碼是否編譯」。

+1

JUint,PHPUnit ...嗯,那裏有一個模式...也許[CUnit](http://cunit.sourceforge.net/)? – dmckee 2010-09-25 03:22:31

+0

http://stackoverflow.com/questions/3751169/suggestion-for-unittest-tools-for-c http://stackoverflow.com/questions/2523584/whats-your-recommandation-for-c-unit-testing-框架 – dmckee 2010-09-25 03:25:42

+0

http:// stackoverflow。com/questions/65820/unit-testing-c-code,http://stackoverflow.com/questions/13699/choosing-a-c-unit-testing-tool-framework – outis 2010-09-25 04:44:00

回答

1

有相當多的框架,但僅舉幾例:

有些人會只是自己的角色使用的#ifdefs和一個test.c的或test.cpp文件:

#ifdef TEST_1 
int main(int argc, char** argv) { /*test code for 1*/ } 
#endif 

#ifdef TEST_2 
int main(int argc, char** argv) { /*test code for 2*/ } 
#endif 

在編譯時間一個喲你可以通過定義TEST_x(其中x是一個數字)來生成測試,這將爲每個測試生成可執行文件。也許不理想,但很簡單。

0

我用CxxTestCppUnit的,發現CxxTest是更容易使用(它自動產生一些骨架代碼的 - 在其上需要安裝了Python下行)和輕量(無庫,完全基於首部)。

1

我們使用庫尼特:

http://cunit.sourceforge.net/

它允許一個邏輯(或功能)組試驗中,產生以XML格式的測試輸出結果的自動發佈等

1

花葯一個是UnitTest++。只有標題,輕量級和簡單的操作,但一切需要。