• 软件测试——boost单元测试 C++


    分类:

    1. 下载安装Boost
    2. 在vs2010 中设置
       工具->选项->vc++目录
       设置包含文件目录:找到解压的boost文件夹eg:C:oost_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;
    }

  • 相关阅读:
    记一次简单的正则表达式匹配实践
    使用readlines()读取文件时出现/n及其解决办法
    浅谈http和https
    JVM GC回收原理的认识
    Mysql中语言分类和区别
    关于storm程序性能压测记录及总结
    Java 集合框架
    MySQL binlog底层主从同步原理
    Docker-Compose安装
    gcc手动安装
  • 原文地址:https://www.cnblogs.com/zhoug2020/p/4515675.html
Copyright © 2020-2023  润新知