stdio をテストするには、ファイルのように動作する FILE を開くヘルパーを作成しますが、実際には、通常のバッファーのように直接アクセスできる 100 文字の固定メモリしかありません。
本質的には次のようなものです。
TEST( printfMock, happyPath )
{
const unsigned size = 100;
char buffer[size];
const char helloStackoverflow = "Hello Stackoverflow";
FILE * mock, backup;
backup = stdout;
mock = helper(buffer, suze);
printf("%s", helloStackoverflow);
stdout = backup;
cleanup(mock);
EXPECT_STREQ(helloStackoverflow, buffer);
}
helper
関数の実装方法に関するドキュメントが必要です。この関数は、Windows でのみ実行することを意図しています。