首页 > 其他分享 >Google Test 自带一些小功能

Google Test 自带一些小功能

时间:2023-09-20 23:46:13浏览次数:37  
标签:std Google color test COLOR gtest internal Test 自带

控制台彩色打印

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);
	}
}

image

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) 这一行设置断点,可以可看到:

image

按下 F10 后,打印 FATAL 信息并退出程序。

标准输出流&标准错误输出流重定向

TEST(test, redirect_std_stderr)
{
	/*
	关于std::cout 和 std::cerr的用法 :https://www.python100.com/html/4DPP58DQW140.html
	*/
	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;
}

image

参考资料

标签:std,Google,color,test,COLOR,gtest,internal,Test,自带
From: https://www.cnblogs.com/gshang/p/17718842.html

相关文章

  • pytest之fixture和mark参数化测试
    fixture和mark参数化测试区别:fixture参数化运用于多个测试用例mark参数化运用化单个测试用例======================================fixture支持参数化params所有的数据param本次测试用到的数据 [email protected](scope="function",......
  • A TCP connection test tool
    Hi,ThisisaTCPconnectiontool. Youcanuseittoestablishmultipleconnectionswithserverandtestserverperformance. Download:source |exe ......
  • AtCoder Grand Contest 017
    链接C.SnukeandSpells容易发现合法序列排序后一定是若干段值域连续的部分组成:可以发现最小次数就是重叠/空出的部分大小。每次修改只会对\(O(1)\)个点\(±1\),直接维护即可。#include<iostream>#include<cstdio>#include<cstring>#include<vector>#defineN200010......
  • main 与 test 资源文件冲突
    一个文件同时存在于xxx-war下,main的在classes下test的在classess-test下1)打包时不包括test目录下https://zhuanlan.zhihu.com/p/6306427842)打包时忽略test的编译-DskipTests与-Dmaven.test.skip ......
  • 解决pycharm报错:_jb_pytest_runner.py:7:....from pkg_resources import iter_entry_p
    遇到问题执行pytest用例出现警告D:\pycharm\PyCharm2020.1.5\plugins\python\helpers\pycharm_jb_pytest_runner.py:7:DeprecationWarning:pkg_resourcesisdeprecatedasanAPI.Seehttps://setuptools.pypa.io/en/latest/pkg_resources.htmlfrompkg_resourcesimport......
  • pytest测试框架中数据分离以及测试用例参数化
    在进行测试自动化过程中,一个重要的最佳实践就是实现测试脚本和测试数据的分离。本文将涉及2个主题,一个是在pytest中如何实现测试用例脚本数据的分离,测试用例如何读入测试数据;二是在pytest中如何实现测试用例参数化。这两点是有区别的,如下图:flowchartLRTC[测试脚本]-->|读取外......
  • The 2023 ICPC Asia Regionals Online Contest (1)
    Preface这场打的还行,因为学长们都没发挥好被我们队偷了,但感觉发挥的也一般前期开题顺序有点问题导致罚时很高,不过中期写题还是很顺的基本都是一遍过只不过在3h的时候过完F到达8题后就开始坐牢了,虽然这场有两个字符串但徐神把H想复杂了,B可以说前面的建SAM和反串的AC自动机都想到......
  • 微软自带拼音输入法不显示选字框的问题解决
    运行框、聊天框都不显示右击右下角的图标-设置-常规-兼容性拉到最下面有个“兼容性”,勾选即可现在OK了......
  • AtCoder Grand Contest 023 E Inversions
    洛谷传送门AtCoder传送门首先将\(a\)从小到大排序,设\(p_i\)为排序后的\(a_i\)位于原序列第\(p_i\)个位置,\(x_i\)为要填的排列的第\(i\)个数。设\(A=\prod\limits_{i=1}^n(a_i-i+1)\),则\(A\)为排列的总方案数(考虑按\(a_i\)从小到大填即得)。套路地,统......
  • 2018-2019 ACM-ICPC Brazil Subregional Programming Contest
    \(B.Marbles\)如果是\(Nim\)博弈,题目应该改成到转移所有石子。显然要转化到将所有石子转移到\((1,2)\)或者\((2,1)\),特判无需到达这两个点的必败态,对其他点使用\(Nim\)博弈判断胜负态。intsg[N][N],vis[N];voidinit(){for(inti=1;i<=100;i++){for(in......