新聞中心
- Gtest簡介
- 基本斷言
- 數(shù)值比較
- 字符串比較
gtest是谷歌公司發(fā)布的一個(gè)跨平臺(tái)(Linux、Mac OS、Windows等)的C++單元測(cè)試框架,它提供了豐富的斷言、致命和非致命判斷、參數(shù)化、死亡測(cè)試等等。
gtest 使用一系列斷言的宏來檢查值是否符合預(yù)期,主要分為兩類:ASSERT 和 EXPECT。區(qū)別在于 ASSERT 不通過的時(shí)候會(huì)認(rèn)為是一個(gè) fatal 的錯(cuò)誤,退出當(dāng)前函數(shù)(只是函數(shù))。而 EXPECT 失敗的話會(huì)繼續(xù)運(yùn)行當(dāng)前函數(shù),所以對(duì)于函數(shù)內(nèi)幾個(gè)失敗可以同時(shí)報(bào)告出來。通常我們用 EXPECT 級(jí)別的斷言就好,除非你認(rèn)為當(dāng)前檢查點(diǎn)失敗后函數(shù)的后續(xù)檢查沒有意義。
使用gtest需包含頭文件 gtest/gtest.h, 并鏈接庫 gtest_main.lib 和 gtest.lib.
基本斷言Fatal assertion | Nonfatal assertion | Verifies |
---|---|---|
ASSERT_TRUE(condition); | EXPECT_TRUE(condition); | condition is true |
ASSERT_FALSE(condition); | EXPECT_FALSE(condition); | condition is false |
Fatal assertion | Nonfatal assertion | Verifies |
---|---|---|
ASSERT_EQ(val1, val2); | EXPECT_EQ(val1, val2); | val1 == val2 |
ASSERT_NE(val1, val2); | EXPECT_NE(val1, val2); | val1 != val2 |
ASSERT_LT(val1, val2); | EXPECT_LT(val1, val2); | val1< val2 |
ASSERT_LE(val1, val2); | EXPECT_LE(val1, val2); | val1<= val2 |
ASSERT_GT(val1, val2); | EXPECT_GT(val1, val2); | val1 >val2 |
ASSERT_GE(val1, val2); | EXPECT_GE(val1, val2); | val1 >= val2 |
Fatal assertion | Nonfatal assertion | Verifies |
---|---|---|
ASSERT_STREQ(str1, str2); | EXPECT_STREQ(str1, _str_2); | the two C strings have the same content |
ASSERT_STRNE(str1, str2); | EXPECT_STRNE(str1, str2); | the two C strings have different content |
ASSERT_STRCASEEQ(str1, str2); | EXPECT_STRCASEEQ(str1, str2); | the two C strings have the same content, ignoring case |
ASSERT_STRCASENE(str1, str2); | EXPECT_STRCASENE(str1, str2); | the two C strings have different content, ignoring case |
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
新聞標(biāo)題:Gtest簡介與基本斷言-創(chuàng)新互聯(lián)
當(dāng)前路徑:http://fisionsoft.com.cn/article/jgoej.html