C++单元测试工具unittest++使用小结

发表于:2013-8-30 11:05

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:哇____牛    来源:51Testing软件测试网采编

  UnitTest++是一个C++的单元测试工具,这个工具小巧,使用简单.测试结果支持输出到屏幕和保存成xml文件.

  这个项目的地址是:http://unittest-cpp.sourceforge.net/UnitTest++.html

  本文章是基于版本1.4

  使用环境是:linux fedora64 2.6.35.6

  使用介绍:

  1.如果还没该工具,请到项目地址去下载.

  2.下载解压后,执行make,会生成静态库libUnitTest++.a

  3.项目自带的测试用例在TestUnitTest++.cpp中,大家可以通过这个文件来熟悉测试用例的使用方法.

  一个测试用例的语法结构是:

  TEST(测试用例名称)

  {

  测试用例体

  }

  在同一范围内,测试用例名称要求唯一。

  测试用例体内可以使用该项目支持的宏,常用的几个是:

  CHECK:检测是否为真

  CHECK_EQUAL:检测是否相等

  CHECK_CLOSE:检测是否接近

  4.使用方法:

  当我们完成了我们的代码后,我们只要编写测试用例文件就可以了,然后在编译的时候链接上libUnitTest++.a.

  比如:

  我们定义如下2个文件: func.h func.cpp

  其中h文件中声明了函数add,multi

  cpp文件中是其实现

  那么我们可以写一个测试文件,叫做test.cpp

  在这个文件中要包含UnitTest++.h,如果输出结果希望到屏幕,那么包含TestReporterStdout.h,如果希望输出到xml文件中,那么

  包含XmlTestReporter.h

  输出到标准的输出的代码,请参见src/tests/Main.cpp

  如果输出到xml文件,在main函数中应该这样写:

int main(int argc, char** argv)
{
//for xml output
ofstream ofile("./test.xml");
UnitTest::XmlTestReporter reporter(ofile);
UnitTest::TestRunner runner(reporter);
return runner.RunTestsIf(UnitTest::Test::GetTestList(),NULL,UnitTest::True(),0);
}

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号