如果在谷歌测试中测试失败,如何打印一些东西

How to print something, if a test has failed in Google Test?

本文关键字:测试 打印 何打印 谷歌 失败 如果      更新时间:2023-10-16

我对许多ASSERT()EXPECT()进行了一些复杂的测试。该测试检查字符串的一些属性,比如命令行。我想打印这个字符串,以防测试以任何可能的方式失败。

I don't want:

  • << string置于ASSERT()位置
  • 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.
...
}

更多细节在这里