[英]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.