如果一个测试包含多个EXPECT_*
语句
TEST_F(TestClass, ServerTest) {
// Start server
server_.start();
usleep(200000);
EXPECT_TRUE(server_.running());
server_.stop();
EXPECT_FALSE(server_.running());
}
我如何配置google-test以输出哪个EXPECT_*
实际失败?
如果断言/期望失败,则可以使用插入运算符<<
打印消息:
EXPECTED_TRUE(...) << "... turned out to be false";
此外,GoogleTest框架还将为您提供失败的assert / expect的行号和源文件。
不相关的注释,在此处使用睡眠语句不是一个好主意。这通常是片状测试的原因。
此外,server_.start()
似乎就像是在测试治具构造函数中进行的调用。如果需要声明某些条件,可以将其放在测试夹具SetUp
和TearDown
methods中。