2017-03-17 143 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