Boost_Test 最小化的测试套件minimal_test

4 篇文章 0 订阅
/************************************************************************/
/*最小化的测试套件minimal_test  

minimal_test提供以下四个测试断言宏:
BOOST_CHECK(e)        断言测试通过, 如不通过不影响程序执行
BOOST_REQUIRE(e)    要求断言必须通过, 否则程序停止执行
BOOST_ERROR(e1, e2) 给出错误信息, 程序继续执行
BOOST_FAIL(e1, e2)    给出错误信息, 程序运行停止
*/
/************************************************************************/

#include "stdafx.h"
#include <boost/format.hpp>
#include <boost/test/minimal.hpp>// 最小化测试头文件
int test_main(int argc,char * argv[])// minimal_test内部实现了main(), 因此无需自己编写main()函数, 只要实现test_main()即可
{
    boost::format fmt("%d-%d");
    BOOST_CHECK(fmt.size() != 0); // 测试成功
    BOOST_CHECK(fmt.size() == 0); // 测试失败,打印如下信息,程序继续执行
    //文件目录\boost_test.cpp(23) : test fmt.size() == 0 failed in function : 'int __cdecl test_main(int,char *[])'
    fmt % 12 % 34;
    BOOST_REQUIRE(fmt.str() == "12-34"); // 测试成功
    //BOOST_REQUIRE(fmt.str() == "12-24"); // 测试失败, 打印如下信息,程序停止执行(内部函数return 0;了)
    //文件目录\boost_test.cpp(28) : test fmt.str() == "12-24" failed in function : 'int __cdecl test_main(int, char *[])'
    
    BOOST_ERROR("演示一条错误消息"); // 给出错误信息如下, 程序继续执行
    //文件目录\boost_test.cpp(31) : 演示一条错误消息 in function : 'int __cdecl test_main(int,char *[])'
    
    fmt.clear();
    fmt % 12;
    try
    {
        std::cout << fmt; // 输入参数不完整, 抛出异常
    }
    catch (...)
    {
        BOOST_FAIL("致命错误,测试终止"); // 给出错误信息如下, 程序停止执行(内部函数return 0;了)
        // 文件目录\boost_test.cpp(42) : 致命错误,测试终止 in function : 'int __cdecl test_main(int,char *[])'
    }
    getchar();
    return 0; // test_main()必须返回一个整数
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值