控制台彩色打印
| TEST(test, colored_print) |
| { |
| using namespace testing::internal; |
| std::map<GTestColor, std::string> ColorMap = |
| { |
| {COLOR_RED, "红色"}, |
| {COLOR_GREEN, "绿色"}, |
| {COLOR_YELLOW, "黄色"} |
| }; |
| |
| for (auto color:ColorMap) |
| { |
| ColoredPrintf(color.first, "这是%s\n", color.second); |
| } |
| } |

Log日志打印
| TEST(test, gtest_log) |
| { |
| GTEST_LOG_(INFO) << "打印 INFO 级别信息"; |
| GTEST_LOG_(WARNING) << "打印 WARNING 级别信息"; |
| GTEST_LOG_(ERROR) << "打印 ERROR 级别信息"; |
| GTEST_LOG_(FATAL) << "打印 FATAL 级别信息(FATAL直接退出程序)"; |
| } |
在 GTEST_LOG_(FATAL)
这一行设置断点,可以可看到:

按下 F10
后,打印 FATAL 信息并退出程序。
标准输出流&标准错误输出流重定向
| TEST(test, redirect_std_stderr) |
| { |
| |
| |
| |
| using namespace testing::internal; |
| CaptureStdout(); |
| for (int i = 0; i < 5; i++) |
| { |
| std::cout << "标准输出流测试文字" << i << std::endl; |
| } |
| |
| std::string stdOutput = GetCapturedStdout(); |
| std::cout << "重定向内容如下:\n" << stdOutput << std::endl; |
| |
| std::cout << "\n再次打印标准输出流测试文字" << std::endl; |
| |
| std::cout << "------------------------------------" << std::endl; |
| |
| CaptureStderr(); |
| std::cout << "标准输出流测试文字" << std::endl; |
| |
| std::cerr << "标准错误输出流测试文字"<< std::endl; |
| std::string stdErrOutput = GetCapturedStderr(); |
| std::cout << "\n重定向内容如下:\n" << stdErrOutput << std::endl; |
| |
| std::cerr << "\n再次打印标准错误输出流测试文字" << std::endl; |
| } |

参考资料
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步