单元测试详述

发表于:2010-7-23 10:53

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

 作者:未知    来源:51Testing软件测试网采编

分享:
  3.3 TestCase

  对于TestCase/TestSuite等,Boost.Test既支持手动注册方式,也支持自动注册方式,当前Boost官方推荐自动注册方式,手动注册为了保持向前兼容保留,以后版本可能被移除。使用宏BOOST_AUTO_TEST_CASE即可自动注册测试用例。使用如下:

#include <boost/test/unit_test.hpp>
BOOST_AUTO_TEST_CASE(test_case_name)
{
    BOOST_CHECK(true);
}

  3.4 TestSuite

  使用宏BOOST_AUTO_TEST_SUITE(test_suite_name)开始测试套件,使用BOOST_AUTO_TEST_SUITE_END()结束测试套件。使用举例:

#include <boost/test/unit_test.hpp>
BOOST_AUTO_TEST_SUITE(test_suite_name)
BOOST_AUTO_TEST_CASE(test_case1)
{
    BOOST_CHECK(true);
}
BOOST_AUTO_TEST_CASE(test_case1)
{
    BOOST_CHECK(true);
}
BOOST_AUTO_TEST_SUITE_END()

  3.5 MainTestSuite

  使用宏BOOST_TEST_MODULE表明主测试套件,一个测试项目中只能存在一个主测试套件。使用举例:

#define BOOST_TEST_MODULE maintest
#include <boost/test/unit_test.hpp>

  3.6 TestFixture

  测试夹具做测试前的准备工作和测试后的清理工作。而C++的RAII机制(构造函数申请资源,析构函数释放资源)恰好能满足该需求。因此Boost中直接使用普通类做夹具。实现夹具举例:该夹具在测试前将整数i初始化为5

struct MyFixture
{
    MyFixture():i(5){}
    ~MyFixture(){}
   Int I;
};

  夹具可以和TestCase一起使用,也可以和TestSuite一起使用,也可以和MainTestSuite一起使用。

  使用宏BOOST_FIXTURE_TEST_CASE(test_case_name, fixure_name)代替BOOST_AUTO_TEST_CASE(test_case_name)即可在TestCase中使用夹具,举例如下:

BOOST_FIXTURE_TEST_CASE(test_case_name,MyFixture)
{
    BOOST_CHECK(i==5);
}
54/5<12345>
价值398元的测试课程免费赠送,填问卷领取吧!

精彩评论

  • xiaoler
    2010-8-05 14:24:20

    学习了,推荐一个单元测试工具C++test知识介绍的专业测试博客:http://www.mytestlife.com/post/c++test.html

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号