4

我已经使用如下所示的代码启动并运行了 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();
}
4

2 回答 2

3

您可以将runTests命令的输出重定向到文件:

cmake CMakeLists.txt && make && ./runTests > test_output.txt

另外,请参阅this,它解释了为什么您不需要&我在评论中使用的。正如 Awaken 的回答所说,&重定向stdout和重定向stderr到同一个文件。但是由于googletest输出总是给你,stdout你可能会忽略&.

于 2013-11-01T22:47:34.027 回答
2

crayzeewulf 的评论适用于任何 Unix 程序。“&>”的意思是将“stdout”和“stderr”中的输出重定向到您指定的其他位置。

更多信息可以在这里找到。 http://www.mathinfo.u-picardie.fr/asch/f/MeCS/courseware/users/help/general/unix/redirection.html

于 2013-11-01T22:49:22.597 回答