在谷歌测试中,如何在断言失败的情况下进行拆卸
In Google Test, how to do tear down in the face of assertion failures?
面对谷歌测试中的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的构造函数中,并将拆卸代码放在析构函数中。
相关文章:
- C++ strcpy 函数在少数主要情况下失败
- 在特定情况下失败
- 在儿童的特定情况下,向下渗透MIN二进制堆失败
- 在这种情况下,插入 std::map 可能会失败?
- 为什么我的代码在没有 chroot 函数的情况下工作,但使用 chroot 函数失败?
- 调试断言仅在某些情况下失败?C++
- “overload_cast”在特定情况下失败
- 在这种情况下,SetContextProperty()如何失败
- 解决方案重新生成在 30% 的情况下失败
- 在某些情况下,通配符模式匹配失败
- inotify_add_watch在没有此类文件或目录的情况下失败
- C 标准是否指定在某些情况下,编译应在错误中失败
- 在某些情况下,我的快速排序实现失败
- 在 boost::lockfree:queue 默认构造函数的情况下断言失败
- 为什么在这种情况下c++模板参数推导失败
- 尝试在 QLabel 上绘画失败(无法在没有对象的情况下调用成员函数"虚拟无效 QLabel::p aintEvent(QPaintEvent*)")
- 运行时检查失败 #3 - 变量"result"在未初始化的情况下被使用
- 'new'语句是否可以在不引发异常的情况下失败?
- 为什么程序在没有尝试/捕获的情况下失败
- 复制构造函数在相同的情况下失败或成功