青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 26, comments - 2, trackbacks - 0, articles - 0
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

gtest的一個簡單擴展

Posted on 2008-08-27 23:14 小夜 閱讀(2331) 評論(0)  編輯 收藏 引用 所屬分類: [07] 單元測試[51] C&C++

看了gtest的一個simple,其中有測試運行時間的方法,但使用起來稍微負責,因此做了一個簡單的擴展。

擴展內容:
1. TEST_T(test_case_name, test_name),用于定義運行時間測試用例。
2. TEST_T_SHOWTIME(),打開打印測試用例運行時間打印開關。
3. EXCEPT_TIME(second)和ASSERT_TIME(second),斷言,second為double類型,測試運行時間是否小于second。

使用說明:
向正常使用一樣,只是在需要時間測試時include “gtest_e.h”即可,當然也得把相應的庫鏈接到執行文件中。

具體實現:
源文件gtest_e.h----

/**
 * gtest_e.h
 
*/


#ifndef GTEST_E_H_
#define GTEST_E_H_

#include 
"gtest_time.h"

#define TEST_T(test_case_name, test_name)\
    GTEST_TEST(TIME_##test_case_name, test_name, ::TimeTest)

#define TEST_T_SHOWTIME() TimeTest_setShowFlag(1)

#define ASSERT_TIME(time) if(TimeTest_setTimePoint() - time > 0) \
    FAIL() 
<< "Time: running " << TimeTest_getTime() << "(s) > " << time << "(s)"

#define EXCEPT_TIME(time) if(TimeTest_setTimePoint() - time > 0) \
    ADD_FAILURE() 
<< "Time: running " << TimeTest_getTime() << "(s) > " << time << "(s)"

#endif /* GTEST_E_H_ */
源文件gtest_time.h----
/**
 * gtest_time.h
 
*/


#ifndef GTEST_TIME_H_
#define GTEST_TIME_H_

#include 
<gtest/gtest.h>

class TimeTest: public testing::Test
{
public:
    inline 
void TimeTest_setShowFlag(int flag)
    
{
        show_time_ 
= flag;
    }


    inline 
double TimeTest_getTime()
    
{
        
return end_time_ - start_time_;
    }


    
double TimeTest_setTimePoint();

protected:
    
double start_time_;
    
double end_time_;
    
int show_time_;

    
virtual void SetUp();
    
virtual void TearDown();
}
;

#endif /* GTEST_TIME_H_ */
源文件gtest_time.cpp----
/**
 * gtest_time.cpp
 
*/


#include 
<iostream>
#include 
"gtest_time.h"

using namespace std;

#if defined(WIN32)
#include 
<sys/timeb.h>
double now()
{
    
struct _timeb current;
    _ftime(
&current);
    
return (((double) current.time) + (1.0 * current.millitm) * 0.000001);
}

#else
double now()
{
    
struct timeval current;
    gettimeofday(
&current, NULL);
    
return (((double) current.tv_sec) + 1.0e-6 * ((double) current.tv_usec));
}

#endif

void TimeTest::SetUp()
{
    start_time_ 
= now();
    end_time_ 
= 0;
    TimeTest_setShowFlag(
0);
}


void TimeTest::TearDown()
{
    
if (show_time_)
    
{
        
double used_time = TimeTest_setTimePoint();
        cout 
<< "[   TIME   ] used time: " << used_time << "(s)"
                
<< endl;
    }

}


double TimeTest::TimeTest_setTimePoint()
{
    end_time_ 
= now();
    
return TimeTest_getTime();
}


以上內容只是一個簡單的實現,沒有過多的測試,且時間精度不夠,誤差較大。
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美亚洲系列| 国产欧美一区二区精品秋霞影院| 国产一区二区久久| 久久综合伊人77777麻豆| 国产一区二区三区高清播放| 久久精品成人一区二区三区| 欧美大片免费久久精品三p | 欧美韩日一区二区三区| 翔田千里一区二区| 亚洲图片自拍偷拍| 欧美激情中文字幕乱码免费| 国产伦精品一区二区三区视频孕妇| 久久精品卡一| 久久精品人人| 久久婷婷激情| 国产日韩精品在线播放| 欧美中文在线视频| 老司机一区二区| 男女视频一区二区| 亚洲激情av在线| 最近中文字幕mv在线一区二区三区四区 | 国产亚洲一区二区三区在线观看| 国产欧美一区二区精品婷婷| 国产精品素人视频| 影音先锋日韩有码| 日韩视频一区二区| 亚洲女同在线| 免费一级欧美片在线播放| 亚洲成人在线视频播放| 亚洲激情在线| 最近中文字幕mv在线一区二区三区四区| 黑人操亚洲美女惩罚| 亚洲老板91色精品久久| 亚洲激情欧美| 亚洲第一页在线| 亚洲免费婷婷| 欧美成人一品| 亚洲欧美日韩人成在线播放| 欧美有码在线视频| 欧美日韩精品一区| 国外成人在线| 亚洲一二三区在线| 亚洲乱码精品一二三四区日韩在线| 久久精品人人爽| 欧美xart系列高清| 欧美激情视频免费观看| 久久黄色级2电影| 麻豆成人精品| 香蕉精品999视频一区二区 | 亚洲欧美日韩国产中文在线| 蜜桃伊人久久| 欧美成人精品h版在线观看| 久久黄色影院| 欧美亚洲综合网| 亚洲人成在线观看| 亚洲成色777777在线观看影院| 亚洲在线免费观看| 国产女精品视频网站免费| 亚洲综合色噜噜狠狠| 亚洲精品一区二区三区樱花| 欧美不卡一区| 欧美自拍丝袜亚洲| 好看的日韩视频| 欧美a级片一区| 欧美日韩国产一区二区三区地区| 亚洲一区二区3| 久久久av水蜜桃| 欧美jizzhd精品欧美巨大免费| 亚洲精品日韩综合观看成人91| 妖精成人www高清在线观看| 国产精品久久久久久久久久久久久久 | 久久黄色影院| 欧美.www| 国产一区二区成人| 亚洲第一页在线| 国产亚洲一级高清| 欧美激情在线播放| 亚洲电影在线免费观看| 亚洲自啪免费| 亚洲视频一区二区在线观看| 久久午夜羞羞影院免费观看| 性做久久久久久久久| 亚洲一级高清| 亚洲一区二区在线| 欧美绝品在线观看成人午夜影视| 欧美在线国产| 国产美女精品人人做人人爽| 一本不卡影院| 亚洲精一区二区三区| 伊人成人在线| 欧美aaaaaaaa牛牛影院| 亚洲电影免费观看高清| 日韩网站在线看片你懂的| 亚洲国产免费| 久久一区精品| 在线日韩av永久免费观看| 鲁大师成人一区二区三区| 欧美一区二区在线看| 欧美激情女人20p| 久久国产精品黑丝| 在线看欧美日韩| 亚洲电影在线| 欧美日韩午夜| 国产麻豆精品视频| 久久国产乱子精品免费女| 久久福利视频导航| 亚洲高清久久网| 亚洲精品日韩综合观看成人91| 国产精品theporn88| 亚欧成人精品| 久久久午夜电影| 亚洲午夜精品| 欧美主播一区二区三区| 在线亚洲欧美视频| 在线视频你懂得一区| 国产精品入口尤物| 欧美黄免费看| 欧美日韩亚洲一区二区三区在线观看| 一区二区在线不卡| 亚洲欧美国产另类| 亚洲激情欧美| 先锋资源久久| 亚洲一区二区三区免费在线观看| 久久久久88色偷偷免费| 欧美肥婆bbw| 性娇小13――14欧美| 欧美成人午夜免费视在线看片| 亚洲影院高清在线| 狼人天天伊人久久| 久久久免费av| 欧美精品九九99久久| 亚洲欧美国产制服动漫| 欧美日韩国产高清视频| 久久精品国产一区二区三区| 欧美日本一区二区高清播放视频| 久久亚洲精选| 黄色av日韩| 在线亚洲精品福利网址导航| 国产一区二区三区在线观看免费视频 | 亚洲欧美日韩在线| 久久一区亚洲| 亚洲欧美激情在线视频| 免费国产一区二区| 亚洲视频欧洲视频| 久久国产主播精品| 亚洲人成网在线播放| 午夜欧美视频| 欧美 亚欧 日韩视频在线| 亚洲午夜免费福利视频| 亚洲一区二区三区四区视频| 亚洲一级片在线观看| 亚洲免费视频中文字幕| 亚洲手机在线| 欧美成人一品| 欧美婷婷在线| 在线视频日韩精品| 欧美伊人精品成人久久综合97| 日韩视频精品在线| 黄网站免费久久| 尤物九九久久国产精品的特点 | 久久亚洲午夜电影| 免费不卡在线视频| 日韩亚洲一区在线播放| 亚洲一区二区精品在线| 新狼窝色av性久久久久久| 欧美黄色小视频| 午夜欧美理论片| 国内成人在线| 亚洲精品国精品久久99热一| 亚洲欧美国产77777| 亚洲高清二区| 在线观看视频欧美| 欧美伦理一区二区| 久久米奇亚洲| 亚洲精品乱码久久久久| 亚洲精品一区二区三区福利| 久久久中精品2020中文| 亚洲国产一区二区三区a毛片| 国产精品腿扒开做爽爽爽挤奶网站| 久久成人一区| 国产综合欧美| 欧美午夜性色大片在线观看| 亚洲视频图片小说| 一区二区三区波多野结衣在线观看| 国产九九精品视频| 一区二区欧美亚洲| 亚洲成人资源网| 欧美午夜一区二区| 久久综合伊人77777尤物| 亚洲伦伦在线| 亚洲午夜av在线| 日韩视频免费观看| 蜜桃av噜噜一区二区三区| 亚洲综合不卡| 亚洲一品av免费观看| 黄色精品一区| 一个色综合av| 午夜免费久久久久| 亚洲免费观看在线观看| 亚洲国产专区校园欧美|