我知道Gtest有TearDown
,但是在调用fixture类的析构函数之前调用它。我也知道有TearDownTestCase
,在执行使用该灯具的所有测试之后以及在删除灯具的最后一个实例之后调用它。
是否有任何形式的拆卸为每个测试执行但是在调用夹具的析构函数之后?
尝试解释我想用这种方法解决的问题。这就是代码的样子:
class c;
class MyFixture : public ::testing::Test, public A {
...
static C *c;
SetUp(){
c = new C();
SetC(c) // this function is from base class A
}
};
TEST_F(B, test1){
...
}
我无法访问A的实现。在每次测试中我总是需要创建和销毁c
,但如果我在基类A的析构函数之前销毁它调用,在那里发生导致测试退出的事情(没有任何明确的错误,它只是以代码255退出)。
真正的解决方案可能是对class A
的析构函数进行了一些修复。但是当我没有它时,我想知道在调用A的析构函数之后是否有一种标准方法可以在每次测试后销毁c
。