在谷歌测试中,如何在断言失败的情况下进行拆卸

In Google Test, how to do tear down in the face of assertion failures?

本文关键字:情况下 失败 断言 测试 谷歌      更新时间:2023-10-16

面对谷歌测试中的ASSERT失败,我正试图弄清楚如何执行TearDown()。

下面是一个伪示例:

class TestFixture: public testing::Test 
{
protected:
  virtual void SetUp() 
  {
      // Do per test setup
  }
  virtual void TearDown() 
  {
      // Do per test teardown
  }
}
TEST_F(TestFixture, MyTest)
{
  ASSERT_TRUE(false);
}

我试图实现的是,即使测试抛出断言失败,也要调用TearDown()。当抛出断言时,GoogleTest不会调用TearDown()。我该怎么做?

将设置代码放在fixture的构造函数中,并将拆卸代码放在析构函数中。