c – 如果测试在Google Test中失败,如何打印某些内容?

我有一些复杂的测试,有很多ASSERT()和EXPECT().该测试检查一些字符串的属性,比如命令行.我希望打印此字符串,以防测试以任何可能的方式失败.

我不想要:

> Put< >如果使用EXPECT()多次失败,请多次查看字符串.

我想做这样的事情:

TEST(MyTest, Test1) {
  ...
  if (HAS_FAILED()) { std::cout << string << std::endl; }
}

最佳答案 您可以使用HasFatalFailure().

TEST(FooTest, Bar) {
Subroutine();
// Aborts if Subroutine() had a fatal failure.
if (HasFatalFailure())
    return;
// The following won't be executed.
...
}

更多细节here

点赞