Testing C/C++ source code
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicates:
Suggestion for UnitTest tools for C++
Choosing a C++ unit testing tool/framework
Unit Testing C Code
这是我一直想知道的,我们必须使用C / C ++作为我们的一些大学项目的基本语言:
在Java中有JUnit,
在PHP中有PHPUnit
等等
如何在C / C ++中完成单元测试? 这可能是一个愚蠢的问题,但我不认为我曾经读过应用程序(源代码)是如何进行单元测试的 - 如果在C / C ++中甚至有这样的东西 - 除了"检查代码是否编译"。
Boost拥有一个出色的单元测试库。
另一个是UnitTest ++。仅限标题,轻量级和简单的操作,并且可以完成所需的一切。
我们使用cunit:
http://cunit.sourceforge.net/
它允许一个逻辑(或功能)组测试,以XML格式生成测试输出以自动发布结果等。
有很多框架,但仅举几例:
- http://code.google.com/p/googletest/
- http://cpptest.sourceforge.net/
有些人只会使用#ifdefs和一个test.c或test.cpp文件自行编写角色:
1 2 3 4 5 6 7 | #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是数字)来生成测试,这将为每个测试生成可执行文件。也许不理想但很简单。
cppunit是我们使用的。
我已经使用了CxxTest和CppUnit,发现CxxTest更容易使用(它自动生成一些框架代码 - 它需要安装Python的缺点)和轻量级(没有库,完全基于头)。