运算符<<在c ++和gtest中

时间:2013-08-01 06:34:17

标签: c++ googletest

应该认为我是初学者,所以这个问题可能看起来很愚蠢。

我只看一个人的代码,我不知道以下行的含义

EXPECT_EQ(input.getErrorNum(), 0) << input.getErrorMsg();

我不知道operator&lt;&lt;的含义是什么?是由gtest定义的吗?

EXPECT_EQ()

是由google提供的测试结构“gtest”定义的宏。

1 个答案:

答案 0 :(得分:6)

EXPECT_*

  

断言成对出现,测试相同的东西,但有   对当前功能的不同影响。生成ASSERT_ *版本   失败时致命的失败,并中止当前的功能。   EXPECT_ *版本生成非致命故障,不会中止   当前功能。通常EXPECT_ *是首选,因为它们允许更多   在测试中报告的不是一次。

每个EXPECT_*都像流一样工作,您可以使用<<打印出有关错误,异常和警告的一些信息。