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's answer が言うように、との両方を同じファイルに&リダイレクトします。ただし、出力は常に送信されるため、.stdoutstderrgoogleteststdout&

于 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 に答える