繁体   English   中英

Google C ++测试框架例外后清理

[英]Clean up after exception Google c++ test framework

我使用的是Google单元测试框架(夹具)的C ++单元测试,测试后清理对我来说非常重要。 但是,在发生异常的情况下,可执行文件会崩溃,并且永远不会进行清理。 有没有一种方法可以强制清理,即使有例外情况也可以?

测试治具具有特殊的构造和破坏方法。
它们分别称为SetUp()TearDown()

将适当的清理代码放入TearDown()方法中。

class FooTest : public ::testing::Test
{
     TestObject *object;
     virtual void SetUp()
     {      
         TestObject = new TestObject();
     }

     virtual void TearDown()
     {
        //clean up occurs when test completes or an exception is thrown
        delete object;
     }
};

建议使用智能指针 ,并遵循RAII惯例,但我意识到,这并非总是可能的,具体取决于您要测试的内容(例如旧版C API)。

除此之外,您始终可以随时捕获异常,并在捕获时进行清理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM