2017-03-17 1 views
1

어떤 이유로 든 명령 줄에서 gtest 테스트를 시작할 수 없으므로 인수를 전달할 수 없습니다. 이미 코드에 정의 된 매개 변수로 InitGoogleTest를 실행하고 싶습니다.gtest에서 xml로 보고서 작성을 시작하는 방법

int main(int argc, char **argv) { 
char *option[] = { "test.exe", //it doesn't have meaning, just dummy 
        "--gtest_output=xml:filename" }; 
int argc1 = 2; 
    ::testing::InitGoogleTest(&argc1, option); 
    return RUN_ALL_TESTS(); 
} 

이 솔루션은 오류를 생성하지 않았지만 중 하나를보고 어떤 XML을 작성하지 않은 : 인터넷에서 어딘가에는이 같은 해결책을 발견했다. 누구나 gtest가 Init에서 XML을 작성하도록하는 방법을 제안 할 수 있습니까?

답변

0

당신은 InitGoogleTest에 전에

::testing::GTEST_FLAG(output) = "xml:filename"; 

호출을 추가하여 output 플래그를 대체 할 수 있습니다. 자세한 내용은 Google Test docs에서 확인할 수 있습니다.

+0

다음과 같은 함수를 만들었습니다. 'int main (int argc, char ** argv) { :: testing :: InitGoogleTest (& argc, argv); :: testing :: GTEST_FLAG (출력) = "xml : /home/user/test.xml"; return RUN_ALL_TESTS(); }' 하지만 test.xml이 생성되지 않았습니다. 내가 잘못하고있는 중입니까? – Semant1ka

+0

아, 제 잘못 - 사실, 당신은'InitGoogleTest' 호출 전에 플래그를 설정해야합니다. XML Listener는 해당 기능에서 설정됩니다. – VladLosev

관련 문제