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