資料庫連線池DBPool分析(六) gtest

2021-07-05 11:08:45 字數 1231 閱讀 2333

gtest是google的c++測試框架,很好用。

我借鑑了裡面的教程來使用gtest

google test的單元測試僅需要test()和test_f()兩個巨集,

test:定義一次測試

第乙個引數是測試用例名,第二個引數是測試名

通過run_all_tests()來執行它們,如果所有測試成功,該函式返回0,否則會返回1.

你不能忽略掉run_all_tests()的返回值,否則gcc會報乙個編譯錯誤。這樣設計的理由是自動化測試服務會根據測試退出返回碼來決定乙個測試是否通過,而不是根據其stdout/stderr輸出;因此你的main()函式必須返回run_all_tests()的值。而且,你應該只呼叫run_all_tests()一次。多次呼叫該函式會與google test的一些高階特性(如執行緒安全死亡測試thread-safe death tests)衝突,因而是不被支援的。

testing::initgoogletest() 函式負責解析命令列傳入的google test標誌,必須在呼叫run_all_tests()之前呼叫該函式,否則就無法正確地初始化標示。

#include "../include/mysql_connection_pool.h"

#include

#include

#include

#include

#include

using

std::cout;

using

std::endl;

using

std::thread;

const

char* handler(mysqlpool* p_mypool, const

char* sql)

queryresult queryresult;

conn->executesql(sql, queryresult);

p_mypool->releaseconnection(conn);

for(int i=0;ifor(int j=0;jcout

<< queryresult.getelement(i,j) << " ";

}cout

<< endl;

}return

"hello";

}test(handlertest, test1)

int main(int argc, char** argv)

資料庫連線池 Redis連線池

基本原理 在內部物件池中,維護一定數量的資料庫連線,並對外暴露資料庫連線的獲取和返回方法。如外部使用者可通過getconnection方法獲取資料庫連線,使用完畢後再通過releaseconnection方法將連線返回,注意此時的連線並沒有關閉,而是由連線池管理器 並為下一次使用做好準備。2.作用 ...

資料庫連線池

實現資料連線池,讓系統有更高有執行效率 using system using system.data using system.data.sqlclient using system.collections using system.threading public class dataaccess...

資料庫連線池

資料庫連線池概述 資料庫連線是一種關鍵的有限的昂貴的資源,這一點在多使用者的網頁應用程式中體現得尤為突出。對資料庫連線的管理能顯著影響到整個應用程式的伸縮性和健壯性,影響到程式的效能指標。資料庫連線池正是針對這個問題提出來的。資料庫連線池負責分配 管理和釋放資料庫連線,它允許應用程式重複使用乙個現有...