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

Yan*_*ang 0 c++ googletest

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

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

EXPECT_EQ(input.getErrorNum(), 0) << input.getErrorMsg();
Run Code Online (Sandbox Code Playgroud)

我不知道operator <<是什么意思是由gtest定义的?

EXPECT_EQ()
Run Code Online (Sandbox Code Playgroud)

是由谷歌提供的测试结构"gtest"定义的宏.

mas*_*oud 6

期望_*

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

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