簡體   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