您的位置:软件测试 > 开源软件测试 > 开源单元测试工具 > cppUnit
如何使用cppunit做模块测试
作者:网络转载 发布时间:[ 2013/4/15 15:39:33 ] 推荐标签:

  Main函数:

  #include

  #include

  // 如果不更改TestSuite, 本文件后期不需要更改.

  int main()

  {

  CppUnit::TextUi::TestRunner runner;

  //从注册的TestSuite中获取特定的TestSuite

  CppUnit::TestFactoryRegistry ®istry = CppUnit::TestFactoryRegistry::getRegistry("alltest");

  //添加这个TestSuite到TestRunner中

  runner.addTest( registry.makeTest() );

  // 运行测试

  runner.run();

  }

  编译:

  g++ Math.cpp MathTest.cpp main.cpp -lcppunit -ldl -lm -lpthread -o mathTest

  运行:

  export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH

  ./mathTest

  显示:

  通过的情况:OK (1 tests)

  失败的情况:会显示那个测试类中的哪行测试不通过

  !!!FAILURES!!!

  Test Results:

  Run: 1 Failures: 1 Errors: 0

  1) test: MathTest::testAdd (F) line: 15 MathTest.cpp

  assertion failed

  - Expression: ret==4

  四:实际应用

  之前组内讨论时,有些模块考虑到开发测试代码时间,以及新人上手慢的问题,我觉得也有道理,后面有时间会继续完善测试过程,总结下什么样的模块适合做单元测试,以及怎么减少这种代价和风险。

  五:什么样的模块适合做类单元测试

  不能单独运行的模块,必须依赖上级模块的输出结果等情形;

  提供给别的模块做调用的,提供头文件,.so动态库或者.a静态库;

  Api测试,基础组件(kfc、mmdb)的api接口;

  以上情形中,被测函数参数个数、类型不发生变化或者变化不频繁;

  测试过程中,使用了开发包装过的工具去测试的,也可以考虑下是否可行;

  待补充。

   六:对开发的要求

  模块测试的提测标准:

  需要有被测功能的头文件;

  需要一份简单的文档,说明该功能怎么调用,以及对传入的参数有什么样的要求(比如广告的featureWordHash要事先排序等这
类问题);

  原文链接http://testing.etao.com/

上一页123下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd