分类:

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++的更多相关文章

  1. 如何在VS2013中进行Boost单元测试

    对于如何在VS2013中进行Boost单元测试,这方面资料太少.自己也因此走了不少弯路.下文将会阐述一下如何在VS2013中进行Boost单元测试. 在开始Boost单元测试之前,我们需要先安装VS2 ...

  2. boost单元测试框架

    头文件: #include <boost/test/unit_test.hpp> 编译加:-lboost_unit_test_framework 单元测试: 需要定义BOOST_TEST_ ...

  3. 软件测试—— junit 单元测试

    Tasks: Install Junit(4.12), Hamcrest(1.3) with Eclipse Install Eclemma with Eclipse Write a java pro ...

  4. Java基础学习总结(90)——Java单元测试技巧

    测试是开发的一个非常重要的方面,可以在很大程度上决定一个应用程序的命运.良好的测试可以在早期捕获导致应用程序崩溃的问题,但较差的测试往往总是导致故障和停机. 虽然有三种主要类型的软件测试:单元测试,功 ...

  5. 使用gtest(googletest)进行c++单元测试

    这是系列文章的第三篇,前两篇https://www.cnblogs.com/gaopang/p/11243367.html和https://www.cnblogs.com/gaopang/p/1158 ...

  6. java程序员软件测试技巧

    测试是开发的一个非常重要的方面,可以在很大程度上决定一个应用程序的命运.良好的测试可以在早期捕获导致应用程序崩溃的问题,但较差的测试往往总是导致故障和停机. 测试是开发的一个非常重要的方面,可以在很大 ...

  7. 《Spring 3.0就这么简单》 读书笔记

    第一章:快速入门 开发流程: 1.创建库表    依赖jar包配置 2.事务:事务是恢复和并发控制的基本单位. 原子性(Atomicity) 一致性(Consistency) 隔离性(Isolatio ...

  8. "《算法导论》之‘队列’":队列的三种实现(静态数组、动态数组及指针)

    本文有关栈的介绍部分参考自网站数据结构. 1. 队列  1.1 队列的定义 队列(Queue)是只允许在一端进行插入,而在另一端进行删除的运算受限的线性表. (1)允许删除的一端称为队头(Front) ...

  9. "《算法导论》之‘栈’":栈的三种实现(静态数组、动态数组及指针)

    本文有关栈的介绍部分参考自网站数据结构. 1. 栈  1.1 栈的定义 栈(Stack)是限制仅在表的一端进行插入和删除运算的线性表. (1)通常称插入.删除的这一端为栈顶(Top),另一端称为栈底( ...

随机推荐

  1. eclipse工程设置的问题

  2. HTTP返回码总结

    HTTP协议状态码表示的意思主要分为五类,大体是:  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~  1×× 保留  2×× 表示请求成功地接收  3×× 为完成请求客户需进一步细化请求  ...

  3. Jenkins master在windows上安装

    原文:http://www.cnblogs.com/itech/archive/2011/11/02/2233343.html 1 Jenkins Jenkins由以前的hudson更名而来.Jenk ...

  4. How to configure Spring facet in IntelliJ IDEA

    遇到了这个问题,稀里糊涂的就给搞定了,在stackoverfolw上看到了相同的问题,直接拷贝下来吧 Spring Configuration Check Unmapped Spring config ...

  5. Data Flow ->> Look up & Merge Join

    Look up: Look up组件做的事情和SQL SERVER中的inner和outer hash join差不多. 但是look up每次只能有两张表参与. 在FULL-CACHE模式下,两个s ...

  6. Hadoop管理员的十个最佳实践

    前言 接触Hadoop有两年的时间了,期间遇到很多的问题,既有经典的NameNode和JobTracker内存溢出故障,也有HDFS存储小文件问题,既有任务调度问题,也有MapReduce性能问题.遇 ...

  7. 蒙特罗卡π算法(C++语言描述)

    圆的面积计算公式为:S=π*r*r 将圆放到一个直角坐标系中,如图黄色部分的面积是S/4=(π*r*r)/4;如果我们将取一个单位圆,则S/4=π/4. 因为是单位圆,半径为1,所以图中红色正方形的面 ...

  8. uses-permission权限列表

    android.permission.ACCESS_CHECKIN_PROPERTIES允许读写访问”properties”表在checkin数据库中,改值可以修改上传 android.permiss ...

  9. Linux内核系列—C语言中内嵌汇编 asm __volatile__,asm__volatile_【转】

    转自:http://www.bkjia.com/Androidjc/1109412.html 在内嵌汇编中,可以将C语言表达式指定为汇编指令的操作数,而且不用去管如何将C语言表达式的值读入哪个寄存器, ...

  10. What is the difference between DAO and DAL?

    What is the difference between DAO and DAL? The Data Access Layer (DAL) is the layer of a system tha ...