2010-09-25 109 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++。只有标题,轻量级和简单的操作,但一切需要。