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

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

gtest的一個簡單擴展

Posted on 2008-08-27 23:14 小夜 閱讀(2333) 評論(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>
            久久乐国产精品| 欧美日韩亚洲不卡| 蜜桃av久久久亚洲精品| 国产精品成人一区| 日韩午夜视频在线观看| 免费中文日韩| 久久激情五月丁香伊人| 国产人成精品一区二区三| 香蕉久久久久久久av网站| 一区二区三区精品视频| 欧美日韩免费| 亚洲先锋成人| 一区二区三区国产在线观看| 欧美日韩一区在线| 一区二区精品国产| 亚洲巨乳在线| 欧美三级视频在线播放| 亚洲在线视频免费观看| 一区二区三区四区在线| 国产精品黄色在线观看| 欧美在线在线| 久久手机免费观看| 亚洲国产另类 国产精品国产免费| 卡通动漫国产精品| 嫩草影视亚洲| 亚洲视频在线观看三级| 国产精品久久久久久久久久久久久| 欧美日韩免费看| 亚洲国产高清视频| 亚洲欧美日韩国产一区二区三区| 久久久综合香蕉尹人综合网| 91久久极品少妇xxxxⅹ软件| 久久久久久电影| 精品动漫3d一区二区三区| 香蕉免费一区二区三区在线观看| 一本久久知道综合久久| 欧美日韩国产在线一区| 亚洲一区成人| 亚洲精品一区二区三区婷婷月 | 亚洲精品之草原avav久久| 亚洲欧洲一级| 欧美日韩免费高清一区色橹橹| 一区二区三区日韩| 亚洲一区二区在线播放| 国产欧美高清| 欧美激情一区在线| 国产精品美腿一区在线看 | 久久成人免费电影| 欧美国产一区二区三区激情无套| 欧美一级播放| 欧美成人精品一区| 裸体丰满少妇做受久久99精品| 久久久久久久久一区二区| 一区二区三区久久| 久久亚洲精品视频| 亚洲免费在线观看| 日韩视频在线免费| 午夜一区二区三区在线观看| 99精品国产热久久91蜜凸| 美女脱光内衣内裤视频久久影院| 在线亚洲伦理| 久久亚洲欧美| 欧美精品午夜视频| 美女任你摸久久| 亚洲第一综合天堂另类专| 在线视频中文亚洲| 亚洲私人黄色宅男| 欧美日在线观看| 亚洲一区二区三区色| 一区二区三区.www| 欧美日韩免费观看一区二区三区| 久久综合久久久久88| 在线精品视频一区二区| 久久综合九色99| 亚洲国产成人精品女人久久久| 亚洲成色精品| 国产精品在线看| 亚洲在线视频| 国产精品视频yy9099| 亚洲一级电影| 女同一区二区| 亚洲理论在线| 国产日产欧产精品推荐色| 欧美一区二区三区婷婷月色 | 91久久极品少妇xxxxⅹ软件| 亚洲黄网站在线观看| 国产精品入口福利| 欧美日韩国产欧| 蜜臀99久久精品久久久久久软件| 亚洲第一黄色网| 欧美午夜精品久久久| 亚洲精品在线二区| 久久精品人人爽| 亚洲欧美制服另类日韩| 亚洲国产午夜| 国产一区二区三区电影在线观看| 亚洲大胆av| 欧美少妇一区二区| 欧美激情一区二区三区在线| 亚洲无毛电影| 日韩亚洲一区二区| 亚洲欧洲精品一区| 美女视频黄 久久| 久久久久久久999精品视频| 亚洲一区影院| 欧美一区二区三区四区在线观看| 亚洲国产婷婷| 激情亚洲网站| 怡红院精品视频| 伊人久久婷婷| 加勒比av一区二区| 国内精品国语自产拍在线观看| 国产精品视频精品视频| 亚洲三级电影全部在线观看高清| 日韩视频国产视频| 欧美亚洲免费在线| 欧美在线视频免费播放| 久久综合狠狠综合久久激情| 久久精品免费观看| 欧美99在线视频观看| 可以看av的网站久久看| 亚洲国产日韩欧美综合久久| 亚洲自拍偷拍视频| 亚洲天堂免费观看| 欧美影院成年免费版| 久久一区亚洲| 最近中文字幕日韩精品| 欧美亚洲在线观看| 欧美α欧美αv大片| 国产精品v欧美精品v日本精品动漫| 亚洲精品欧美| 午夜精品99久久免费| 欧美电影电视剧在线观看| 国产精品亚洲综合色区韩国| 亚洲国产天堂久久国产91| 亚洲自拍都市欧美小说| 可以免费看不卡的av网站| 亚洲精品乱码久久久久久日本蜜臀 | 亚洲午夜日本在线观看| 一区二区三区视频在线播放| 欧美乱妇高清无乱码| 亚洲视频精选| 欧美一区二区在线视频| 亚洲福利久久| 亚洲国产精品一区二区www| 久久久免费精品视频| 亚洲国产美女| 国产视频久久久久久久| 亚洲亚洲精品三区日韩精品在线视频| 亚洲三级免费| 国内外成人免费激情在线视频网站| 女女同性精品视频| 欧美日韩一区二区高清| 久久精品视频导航| 欧美精品一二三| 欧美肥婆bbw| 国产真实乱子伦精品视频| 久久色在线播放| 国产精品伦一区| 久久久久久久一区二区| 国产精品扒开腿爽爽爽视频 | 另类专区欧美制服同性| 久久精品国产2020观看福利| 欧美日韩一区二区国产| 99综合在线| 国产亚洲观看| 欧美jizz19性欧美| 欧美在线视频a| 欧美精品免费看| 欧美大秀在线观看| 欧美精品一区二区三区高清aⅴ| 麻豆freexxxx性91精品| 亚洲日本无吗高清不卡| 欧美在线观看视频一区二区| 亚洲女同在线| 小嫩嫩精品导航| 欧美视频在线观看| 亚洲国产欧美日韩| 91久久国产自产拍夜夜嗨 | 亚欧成人精品| 国产日产欧产精品推荐色 | 亚洲电影av| 久久成人精品电影| 欧美成人国产| 亚洲精品久久久蜜桃| 久久精品国产精品亚洲精品| 最新国产乱人伦偷精品免费网站| 亚洲欧美日韩国产综合在线| 黄色影院成人| 欧美—级a级欧美特级ar全黄| 日韩视频在线观看| 亚洲深夜激情| 亚洲国产婷婷综合在线精品| 亚洲日本黄色| 一区二区视频免费完整版观看| 久久精品国产精品亚洲| 亚洲欧美国产精品va在线观看 | 午夜一级久久| 亚洲黄色免费网站| 韩国成人理伦片免费播放|