软件测试——boost单元测试 C++
分类:
1. 下载安装Boost
2. 在vs2010 中设置
工具->选项->vc++目录
设置包含文件目录:找到解压的boost文件夹eg:C:\boost_1_43_0
3. 编写测试程序
最简单的,新建一个win32控制台程序,选择“空项目”;然后添加新建项->代码->C++文件(.cpp),然后编写代码:
首先,在文件头添加以下两行:
#define BOOST_TEST_MODULE test_xxxx //定义boost测试模块,宏后面的
test_xxxx不重复就行
#include <boost/test/unit_test.hpp> //引用boost单元测试头文件
然后添加测试用例:
BOOST_AUTO_TEST_CASE( test_someFunction ) //括号中的可以看做该测试用例的名字
{
}
=================================假设要测试如下代码
// ! 传感器接收报文
class CLastRecv
{
public:
CLastRecv(IN const string &strRecv);
~CLastRecv();
public:
bool GetRecvTime(OUT time_t &recvTine);
bool GetRecvMessage(OUT string &strRecv);
private:
time_t m_recvTime; //接收时间
string m_stRecv; //接收的报文内容
};
================================================

/*! @file
********************************************************************************
<PRE>
模 块名 : 单元测试
文件名 : Sensor.h
相关文件 : Sensor.cpp
文件实现功能 : 测试Sensor 文件中的所有
作者 : 毛勇
版本 : 1.0
--------------------------------------------------------------------------------
多线程安全性 : 是
异常时安全性 : 是
--------------------------------------------------------------------------------
备 注 :
--------------------------------------------------------------------------------
修 改记录 :
日 期 版本 修改人 修改内容
2010/07/07 1.0.0 毛勇 创建
</PRE>
*******************************************************************************/
#include <iostream>
#include <string.h>
#include <string>
#include "../TransmissionGateway/Sensor.h"
using namespace std;
#define BOOST_TEST_MODULE sensor
#include <boost/test/included/unit_test.hpp>
//====================================================================
//============================ 单元测试 - Sensor.h ===================
//====================================================================
BOOST_AUTO_TEST_SUITE (sensor) // name of the test suite is sensor
// ! CLastRecv 类测试
BOOST_AUTO_TEST_CASE (clastrecv)
{
//cout <<"------------------- begin CLastRecv test---------"<< endl;
string str("hello");
CLastRecv lastRecv(str);
time_t recvTime;
string strRecv;
BOOST_CHECK(lastRecv.GetRecvTime(recvTime) == TRUE);//TRUE
lastRecv.GetRecvMessage(strRecv);
BOOST_CHECK(0 == strRecv.compare("hello"));
BOOST_CHECK(-1 == strRecv.compare("world"));
//cout << ctime(&recvTime) << endl;
//cout <<"------------------- end CLastRecv test---------"<< endl;
}
软件测试——boost单元测试 C++的更多相关文章
- 如何在VS2013中进行Boost单元测试
对于如何在VS2013中进行Boost单元测试,这方面资料太少.自己也因此走了不少弯路.下文将会阐述一下如何在VS2013中进行Boost单元测试. 在开始Boost单元测试之前,我们需要先安装VS2 ...
- boost单元测试框架
头文件: #include <boost/test/unit_test.hpp> 编译加:-lboost_unit_test_framework 单元测试: 需要定义BOOST_TEST_ ...
- 软件测试—— junit 单元测试
Tasks: Install Junit(4.12), Hamcrest(1.3) with Eclipse Install Eclemma with Eclipse Write a java pro ...
- Java基础学习总结(90)——Java单元测试技巧
测试是开发的一个非常重要的方面,可以在很大程度上决定一个应用程序的命运.良好的测试可以在早期捕获导致应用程序崩溃的问题,但较差的测试往往总是导致故障和停机. 虽然有三种主要类型的软件测试:单元测试,功 ...
- 使用gtest(googletest)进行c++单元测试
这是系列文章的第三篇,前两篇https://www.cnblogs.com/gaopang/p/11243367.html和https://www.cnblogs.com/gaopang/p/1158 ...
- java程序员软件测试技巧
测试是开发的一个非常重要的方面,可以在很大程度上决定一个应用程序的命运.良好的测试可以在早期捕获导致应用程序崩溃的问题,但较差的测试往往总是导致故障和停机. 测试是开发的一个非常重要的方面,可以在很大 ...
- 《Spring 3.0就这么简单》 读书笔记
第一章:快速入门 开发流程: 1.创建库表 依赖jar包配置 2.事务:事务是恢复和并发控制的基本单位. 原子性(Atomicity) 一致性(Consistency) 隔离性(Isolatio ...
- "《算法导论》之‘队列’":队列的三种实现(静态数组、动态数组及指针)
本文有关栈的介绍部分参考自网站数据结构. 1. 队列 1.1 队列的定义 队列(Queue)是只允许在一端进行插入,而在另一端进行删除的运算受限的线性表. (1)允许删除的一端称为队头(Front) ...
- "《算法导论》之‘栈’":栈的三种实现(静态数组、动态数组及指针)
本文有关栈的介绍部分参考自网站数据结构. 1. 栈 1.1 栈的定义 栈(Stack)是限制仅在表的一端进行插入和删除运算的线性表. (1)通常称插入.删除的这一端为栈顶(Top),另一端称为栈底( ...
随机推荐
- gcc 优化选项 -O1 -O2 -O3 -Os 优先级
http://hi.baidu.com/xiaole10368/item/7cea9b1369cc240db88a1a5c 少优化->多优化: O0 -->> O1 -->&g ...
- [PHP]利用XAMPP搭建本地服务器, 然后利用iOS客户端上传数据到本地服务器中(三. PHP端代码实现)
一.安装XAMPP http://www.cnblogs.com/lidongxu/p/5256330.html 二. 配置MySql http://www.cnblogs.com/lidongx ...
- [iOS]iPhone推送原理
推送原理,先上图 说一下原理吧, 由App向iOS设备发送一个注册通知 iOS向APNs远程推送服务器发送App的Bundle Id和设备的UDID APNs根据设备的UDID和App的Bundle ...
- 获取CentOS系统详情的九个uname命令实例
当你在控制台模式下,无法通过“鼠标右键 > 关于”获取操作系统的信息.这时,在Linux下,你可以使用uname命令,帮助你完成这些工作. Uname是unix name的缩写.在控制台中实际使 ...
- Java:编码的详解
ASCII:美国信息标准信息码,用一个字节的7为表示. ISO8859-1:拉丁码表 欧洲码表 ,用一个字节的8位表示. GB2312:中国的中文编码表. GBK:中国的中文编码表升级,融合了更多的中 ...
- git源码推荐
http://git.oschina.net/explore/monthly http://git.oschina.net/juapk/spring-wind http://git.oschina.n ...
- css 射线实现方法
一个斜的四边形 .top_ad_out::before { content: ''; position: absolute; z-index: -1; width: 336px; height: 25 ...
- 基于矩阵模式的 Web 软件测试手段(转)
http://www.ibm.com/developerworks/cn/web/1410_dujing_matrixfortest/ 在 Web 测试中,我们经常针对某个测试点进行多种场景测试,或者 ...
- RPC简介及原理
简介 RPC(Remote Procedure Call,远程过程调用)是建立在Socket之上的,在一台机器上运行的主程序,可以调用另一台机器上准备好的子程序,就像LPC(本地过程调用). 越底层, ...
- 【分享】IT产业中的三大定理(二) —— 安迪&比尔定理 (Andy and Bill's Law)
摩尔定理给所有的计算机消费者带来一个希望,如果我今天嫌计算机太贵买不起,那么我等十八个月就可以用一半的价钱来买.要真是这样简单的话,计算机的销售量就上不去了.需要买计算机的人会多等几个月,已经有计算机 ...