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