博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《BOOST程序库完全开发指南》 第06章 正确性与测试
阅读量:7116 次
发布时间:2019-06-28

本文共 987 字,大约阅读时间需要 3 分钟。

当定义了宏 BOOST_ENABLE_ASSERT_HANDLER 后,使用 BOOST_ASSERT() 断言失败后,会调用 boost::assertion_failed() 函数,该函数声明在 boost 名字空间内,但特意被设计为没有实现。

#include 
#include
namespace boost{ void assertion_failed(char const* expr,char const * function,char const* file,long line) { boost::format fmt("Expression:%s\nFunciton:%s\nFile:%s\nLine:%s\n"); fmt %expr %function %file %line; std::cout<
#include
#include
int main(){ assert(1 == 1); //实际上是一个宏,尽管它不是大写。编译时加上 -DNDEBUG 无效 std::string str = "Hello"; BOOST_ASSERT(str.size() == 0 && "str's size is 0."); //效果同于assert(),仅在debug模式下有效。&& 后面的内容相当于注释,方便调试}

 

#define BOOST_TEST_MAIN#include 
BOOST_AUTO_TEST_SUITE(test_suite_1)BOOST_AUTO_TEST_CASE(test_case_1){ BOOST_CHECK(1); BOOST_CHECK_EQUAL(1,1);}BOOST_AUTO_TEST_CASE(test_case_2){ BOOST_CHECK(1); BOOST_CHECK_EQUAL(1,1);}BOOST_AUTO_TEST_SUITE_END()

 

转载地址:http://vhyel.baihongyu.com/

你可能感兴趣的文章
lol skl
查看>>
postgreSQL 9.1 的安装、基本配置、简单使用
查看>>
JavaScript日期时间对象的创建与使用(三)
查看>>
PHP编程效率的20个要点
查看>>
mysql主从数据不一致问题解决
查看>>
go 入门学习笔记之 条件判断 if switch (七)
查看>>
Linux下清空用户登录记录和命令历史的方法
查看>>
Visual Sudio 复制窗体文件
查看>>
实例变量并不安全(java)
查看>>
修改系统文件(cookie、桌面、我的文档)位置
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
debian6 Redis+phpredis安装
查看>>
Google Auth+openssh
查看>>
NFS服务器配置及客户端挂载
查看>>
ELK(elasticsearch+logstash+kibana)开源日志分析平台搭建
查看>>
Debian 8.0桌面系统root用户登录和root用户自动登录
查看>>
Windows 8 新启动方式:混合启动(Hybrid Boot)
查看>>
*.manifest 文件
查看>>
要在jsp界面上显示一行三个控件
查看>>