使用GTest GMock進行C 單元測試(二)

2021-10-25 00:24:49 字數 2080 閱讀 3355

test(normal, normaltest)

以下介面都是與型別相關的轉換介面,將二進位制資料轉換為不同型別物件。

宣告類模板,繼承自testing::test,

這裡展示測試escape字串的介面,strcotent0為原始字串,strcotent0為escape之後的字串,當然因為特殊情況,有些字串不需要escape,用needescape來標記;

struct escapedata

string strcontent0;

string strcontent1;

bool needescape;

};class testescapestring : public testing::testwithparam;

void testescapestring::setup()

instantiate_test_case_p(escape, testescapestring, testing::valuesin(generateescapedata()));

test_p(testescapestring, caseescapeunescape)

test(testretoreescapespecificpropertychar1, testretoreescapespecificpropertychar)

當資料格式已設計好,資料生成方和資料使用方可以同時開發,這時候資料使用方需要按照約定格式模擬相關介面;

當需要呼叫後端服務介面,而此介面還在開發中未開放,需要模擬介面;

其他場景。

class parsefileutils : public parsefilebase

;

class mockparsefileutils : public parsefileutils

mock_method1(parsebinaryfile, shared_ptr(wstring filepath));

mock_method2(parsetextfiletogetcomponents, vector>(wstring textfilepath, string flag));

mock_method3(parsetextfiletogetcomponents, vector>(wstring textfilepath, string flag, string endflag));

shared_ptrgetbinarystream();

protected:

void init();

// 此處省略

protected:

// 此處省略

使用C 進行Json讀寫

using system using litjson using system.io using system.collections.generic class skill class program static void main string args 另外我們可以使用泛型去解析json,只...

使用C 進行宣告式程式設計

宣告式程式設計 英語 declarative programming 是一種程式設計范型 與命令式程式設計相對立。它描述目目標性質,讓計算機明白目標,而非流程。宣告式程式設計不用告訴電腦問題領域,從而避免隨之而來的 而命令式程式設計則需要用演算法來明確的指出每一步該怎麼做。簡單的說,宣告式側重於做什...

C 使用HttpClient進行http操作

在.net 4.5中增加了乙個新的system.net.http.httpclient名字空間 在 system.net.http.dll 中 其中 提供了用於傳送 http 請求和接收 http 響應的api。string body await client.getstringasync uri ...