C++ 单元测试工具 CppUnitTest
来源:互联网 发布:120dvd域名改成什么了 编辑:程序博客网 时间:2024/05/01 15:27
CppUnit 是开放源代码的测试工具,来源于 Java 版本的 JUnit。单元测试在极限编程理论中有非常重要的作用。即使不采用极限编程方式,每个软件工程师应该写测试程序、准备测试数据、测试自己写的软件模块能够运行。
CppUnit 可以用来同时测试多个软件模块,并且显示有多少成功、多少失败。有命令行方式运行,VC 写的 GUI 程序界面,也有 QT 的 GUI 程序界面。以下是 VC 运行界面。
如果您想用 CppUnit 来进行软件测试的话,可以到 CppUnit 在 Sourceforge 上面的网站下载原代码,里面有示例程序。
我们可以从 cppunit-1.10.2/examples/msvc6/CppUnitTestApp/CppUnitTestApp.dsw 改造入手,全部编译后,将原有的 cppunit、DSPlugIn、TestRunner 几个project 删除,只留下CppUnitTestApp project。在 VC 的 File View 将原有的 DLL Dependencies,Tests 删除。然后增加自己的测试程序。
测试的 C++ 代码都必须加入到这个 Project ,如果用 C++ Builder 就只能用那个命令行的版本了。如果有失败的测试单元,则显示是哪些测试单元。
一般的测试单元,写一个 CPPUNIT_NS::TestCase 的子类,里面写一个或者多个 testXXX 函数。在 testXXX 中调用正式代码:
void testXXX(){
int result = myFun(1,2);
CPPUNIT_ASSERT_EQUAL(result,7);
result = myFun(10,70);
CPPUNIT_ASSERT_EQUAL(result,9);
}
每个 test 函数算一个测试基本元素。如果它里面的所有 assert 都成功,这个 test 函数才算通过。
通常来说,测试所用的数据,一般不用写在源代码中,而是写在 xml 或者 ini 或者其他文件中。这样的好处是测试时更改测试数据,不用重新编译程序,方便测试。
比较通用的方法是,写一个 BaseTestCase 类,里面处理好数据读入、输出,其它测试单元都从这个 BaseTestCase 继承。
相对于 JUnit 而言,CppUnit 的不方便之处是新的测试程序需要加入测试 project,对于很多人同时在写测试单元的时候,大家都在等别人修改完了测试 project自己才能进行,不太好。相对而言,Java 测试程序可以不需要任何 project 文件。变通的方法是,将测试 project 拆分成多个子 project ,但是这样一来就无法在一个测试程序中运行所有的测试。
CppUnit 的好处是运行速度比较快。
- C++ 单元测试工具 CppUnitTest
- C++ 单元测试工具 CppUnitTest
- C/C++单元测试工具
- C/C++单元测试工具列表
- C/C++单元测试工具Visual Unit新手入门
- 常用C语言单元测试工具介绍
- 常用C语言单元测试工具介绍
- C语言单元测试工具Check使用注意事项
- 单元测试工具googletest C++Test和CppUnit
- 单元测试工具
- 单元测试工具
- 单元测试工具
- 单元测试工具Parasoft C++test视频操作免费下载
- C/C++单元测试工具Visual Unit 2.0介绍
- google公布c语言轻量级单元测试工具Cmockery---初体验
- 嵌入式的C单元测试工具集18个
- 嵌入式的C单元测试工具集(18个)
- C/C++单元测试工具基本技术指标
- 昨天在LT上的战斗
- Linux下创建静态、动态库
- 使用 PHP 解譯 javascript escape() 編碼過的字串
- CSDN:管理之路VS技术之路
- 刚把过去一些vc共3G多参考的代码恢复到系统中,可惜自己写的有几个无法恢复了
- C++ 单元测试工具 CppUnitTest
- xmlhttp页面无刷新实现
- 外滩夜景
- IT女人,从二十五到三十五[转贴]
- 年轻没有失败,看驴生豪迈,不过重头再来
- 怎么看橱柜的好与坏
- 如何自定义中文Word的快捷键
- 解释(学计算机的必看)
- Struts Validator验证器使用指南