2017-03-17 170 views
1

強制GTEST寫報告到XML出於某種原因,我不能啓動從命令行GTEST測試,所以我不能傳遞任何參數給它。我想用代碼中定義的參數來運行InitGoogleTest。 某處在互聯網上,我發現這樣一個解決方案:如何從初始化

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

您可以通過添加

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

之前調用InitGoogleTest覆蓋output標誌。您可以在Google Test docs上閱讀更多內容。

+0

我做了這樣的功能 ''''''''''''' :: testing :: GTEST_FLAG(output)=「xml:/home/user/test.xml」; return RUN_ALL_TESTS(); }' 但test.xml沒有創建,也許我做錯了什麼? – Semant1ka

+0

啊,我的糟糕 - 實際上,你需要在'InitGoogleTest'調用之前設置標誌。 XML偵聽器在該函數中設置。 – VladLosev