2012-09-13 3 views
0

previous question에서 계속 진행하십시오.Google 테스트 프레임 워크를 다시 초기화하는 방법

요구 사항은 Google 테스트 용입니다. 일단 구글 테스트 트랙에 티스트 케이스 "Rasmi". Hi을 다시 실행해야 Rasmi가 실행됩니다. 분명 만드는 것 -이 경우

vect.push_back("Hello"); 
vect.push_back("Hi"); 
vect.push_back("Rasmi"); 
for(vect<string>::iterator it = vect.begin(); it != vect.end(); ++it) 
{ 
if(*it == "Rasmi") // If it encounters "Rasmi"  
{ 
//it--;  
int index = it - vect.begin();  
vect.insert(vect.begin()+2, "Hi"); 
it = vect.begin() + index;  
}  
cout << *it; 
} 

는 테스트 케이스 Hi 그것은 단지 사본을 다시 실행하고 이전 실행 된 테스트 케이스를 붙여. 이것이 테스트 케이스 Rasmi이 실패하는 이유입니다. 그러나 모든 조건이 모두 만족스럽지 않은 경우

Hello->Hi->Rasmi... The execution becomes successful. 

GoogleTest를 다시 초기화하는 방법을 도와주세요.

답변

0

싱글 톤을 사용하는 경우 이전 테스트에서 남은 것이있을 수 있습니다 (현재 작동하는 곳에서이 문제가 있습니다).

각 테스트는 종료하기 전에 글로벌 객체에 대한 변경 사항을 정리하는 것이 어떻습니까?

+0

아니요, 종료 전후에 변경이 없습니다. –

관련 문제