2016-06-29 2 views
0

Google 단위 테스트 프레임 워크 (조명기)를 사용하여 C++ 단위 테스트를 사용하고 있으며 테스트가 매우 중요하기 때문에 정리하십시오. 그러나 예외가 발생하면 실행 파일이 손상되고 정리 작업이 수행되지 않습니다. 예외가 발생한 경우에도 강제로 정리할 수 있습니까?예외 처리 후 예외 처리 Google C++ 테스트 프레임 워크

+1

예외를 잡으시겠습니까? –

답변

0

Test Fixtures에는 구성 및 소멸을위한 특수한 방법이 있습니다.
이들은 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; 
    } 
}; 

smart pointers를 사용하는 것이 좋습니다, 그리고 RAII 관행에 따라,하지만 난 그게 당신이 (예를 들어, 기존 C의 API)를 테스트하고 무엇에 따라 항상 가능한 것은 아니다 실현합니다.

예외적으로 예외를 catch하고 catch에서 정리를 처리 할 수 ​​있습니다.