PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
C_and_CPP
[問題] 請問marco的 #號
作者:
liptonbin
(我還存在耶)
2016-11-25 17:52:21
請教一下
定義宣告如下
#define EXPECT_TRUE(condition) \
GTEST_TEST_BOOLEAN_(condition, #condition, false, true, \
GTEST_NONFATAL_FAILURE_)
#define GTEST_NONFATAL_FAILURE_(message) \
GTEST_MESSAGE_(message, ::testing::TestPartResult::kNonFatalFailure)
#define GTEST_TEST_BOOLEAN_(expression, text, actual, expected, fail) \
GTEST_AMBIGUOUS_ELSE_BLOCKER_ \
if (const ::testing::AssertionResult gtest_ar_ = \
::testing::AssertionResult(expression)) \
; \
else \
fail(::testing::internal::GetBoolAssertionFailureMessage(\
gtest_ar_, text, #actual, #expected).c_str())
==============================================================
使用上的範例如下
EXPECT_TRUE(1) or EXPECT_TRUE(0) 判斷成功或是失敗
或
EXPECT_TRUE(system("echo 1 > /sys/class/gpio/gpio1021/value") == 0);
或
EXPECT_TRUE(!memcmp(buf, ref, sizeof(buf)));
我想問的是,上面的define的#,false,true,GTEST_NONFATAL_FAILURE_
這三個參數是要做什麼???
謝謝
作者:
Qbsuran
(Qbsuran)
2016-11-25 17:58:00
#define F(x) #x, F(ABC)編譯變成"ABC"
作者:
LPH66
(-6.2598534e+18f)
2016-11-25 18:00:00
後三個參數名字都跟你說了: actual 是實際值expected 是期待要有的值, fail 是失敗時寫錯誤訊息的函數actual 跟 expected 都是用來建構錯誤訊息的(可以看到在 fail(...) 裡面它們前面也有 # 字)也就是這裡寫什麼錯誤訊息裡就會照樣出現什麼
#condition
類似用途, 只不過這裡它會印出你的判斷式
繼續閱讀
[心得] interpreter 環境與變數
descent
[問題] std::bind傳入引數 (已解決)
ilikekotomi
[問題] 如何辨識出Line對話紀錄的日期戳記
deo2000
[問題] 函數原型宣告造成記憶體問題
yshihyu
[問題] 關於程式碼還原
z2001boys
[問題] 關於副程式呼叫
usanhuang
[問題] opencv陣列取值
laladeer
[問題] QT新增設計師表單類別
allssddaa
[問題] 請問儀錶板功能要怎樣做會比較好呢?
MOONY135
[問題] constexpr 的實作
wtchen
Links
booklink
Contact Us: admin [ a t ] ucptt.com