我使用代码进行gtest并运行,如下所示。我想将测试输出打印到文本文件,而不是在控制台中显示它。有没有办法做到这一点?
我使用控制台中的cmake
运行测试:cmake CMakeLists.txt && make && ./runTests
。
#include "cw-test.c"
#include <stdio.h>
#include <gtest/gtest.h>
TEST(InputValidationTest, ValidateEntryLine)
{
...
}
...
int main(int argc, char **argv) {
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
答案 0 :(得分:2)
您可以将runTests
命令的输出重定向到文件:
cmake CMakeLists.txt && make && ./runTests > test_output.txt
此外,请参阅this,其中解释了为什么您不需要我在评论中使用的&
。正如Awaken的回答所说,&
将stdout
和stderr
重定向到同一个文件。但由于googletest
输出始终转到stdout
,您可能会遗漏&
。
答案 1 :(得分:1)
crayzeewulf的评论适用于任何Unix程序。什么“&amp;&gt;”意思是将“stdout”和“stderr”中的输出重定向到您指定的其他位置。
可在此处找到更多信息。 http://www.mathinfo.u-picardie.fr/asch/f/MeCS/courseware/users/help/general/unix/redirection.html