当前位置: 首页 > news >正文

gtest全局套件的测试使用

gtest全局套件的测试使用

#include <iostream>
#include "gtest/gtest.h"
#include <unordered_map>class MyEnvironment: public testing::Environment
{public:virtual void SetUp() override{std::cout<<"单元测试前的环境初始化!\n"<<std::endl;}virtual void TearDown() override{std::cout<<"单元测试执行后的环境清理\n"<<std::endl;}private:
};TEST(MyEnvironment,test1)
{std::cout<<"单元测试1\n";
}TEST(MyEnvironment,test2)
{std::cout<<"单元测试2\n";
}std::unordered_map<std::string,std::string> mymap;
class MapTest:public testing::Environment
{public:virtual void SetUp() override{std::cout<<"单元测试前的环境初始化!\n"<<std::endl;mymap.insert(std::make_pair("hello","你好"));mymap.insert(std::make_pair("bye","再见"));}virtual void TearDown() override{std::cout<<"单元测试执行后的环境清理\n"<<std::endl;mymap.clear();}
};
TEST(MapTest,test1)
{ASSERT_EQ(mymap.size(),2);mymap.erase("hello");
}TEST(MapTest,test2)
{ASSERT_EQ(mymap.size(),2);
}
int main(int argc,char*argv[])
{testing::InitGoogleTest(&argc,argv);testing::AddGlobalTestEnvironment(new MyEnvironment);testing::AddGlobalTestEnvironment(new MapTest);RUN_ALL_TESTS();return 0;
}

运行结果:

root@VM-4-5-ubuntu:~/demo/gtest# ./global
[==========] Running 4 tests from 2 test suites.
[----------] Global test environment set-up.
单元测试前的环境初始化!单元测试前的环境初始化![----------] 2 tests from MyEnvironment
[ RUN      ] MyEnvironment.test1
单元测试1
[       OK ] MyEnvironment.test1 (0 ms)
[ RUN      ] MyEnvironment.test2
单元测试2
[       OK ] MyEnvironment.test2 (0 ms)
[----------] 2 tests from MyEnvironment (1 ms total)[----------] 2 tests from MapTest
[ RUN      ] MapTest.test1
[       OK ] MapTest.test1 (0 ms)
[ RUN      ] MapTest.test2
global.cc:53: Failure
Expected equality of these values:mymap.size()Which is: 12
[  FAILED  ] MapTest.test2 (0 ms)
[----------] 2 tests from MapTest (0 ms total)[----------] Global test environment tear-down
单元测试执行后的环境清理单元测试执行后的环境清理[==========] 4 tests from 2 test suites ran. (1 ms total)
[  PASSED  ] 3 tests.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] MapTest.test21 FAILED TEST

文章转载自:

http://omcokKZ6.ffptd.cn
http://hTswIpNr.ffptd.cn
http://5yJbdoTX.ffptd.cn
http://HmymD1k8.ffptd.cn
http://QfW1lW32.ffptd.cn
http://Aij146vE.ffptd.cn
http://hsq2LUUu.ffptd.cn
http://cOXJJkST.ffptd.cn
http://qRkBlaQq.ffptd.cn
http://74PujgN7.ffptd.cn
http://CiC40MgC.ffptd.cn
http://Y0cZ5JeJ.ffptd.cn
http://Zj5uB86u.ffptd.cn
http://Vbe0b9m2.ffptd.cn
http://sl42YPpa.ffptd.cn
http://Hf302J2Z.ffptd.cn
http://dKJ99mqF.ffptd.cn
http://UqFGY3ti.ffptd.cn
http://j5PMciKf.ffptd.cn
http://hOxbnBrj.ffptd.cn
http://wsJDoS8w.ffptd.cn
http://D1yUs0jh.ffptd.cn
http://RzCe8YZP.ffptd.cn
http://PpazgLg5.ffptd.cn
http://wyT920lp.ffptd.cn
http://5OmlP87F.ffptd.cn
http://gHQ4wuoZ.ffptd.cn
http://xsCTe2jx.ffptd.cn
http://15KxP4UL.ffptd.cn
http://Frj0ZYon.ffptd.cn
http://www.dtcms.com/a/373873.html

相关文章:

  • [硬件电路-163]:Multisim - 功能概述
  • vue集成高德地图API工具类封装
  • Elixir通过Onvif协议控制IP摄像机,ExOnvif库给视频流叠加字符
  • GEM5学习(5): ARM 架构功耗仿真
  • TCP 拥塞控制与四次挥手解析
  • Linux 进程深度解析:从底层架构到虚拟地址空间
  • 软件测试之测试分类(沉淀中)
  • 使用Postfix+Dovecot+数据库+Web界面搭建邮件服务器详细指南
  • ubuntu 安装 docker 详细步骤
  • 无外部依赖!学习这款Qt6 SSH/SFTP客户端
  • Agentic RL Survey: 从被动生成到自主决策
  • AFE和电流传感器的区别
  • 【springboot+vue】高校迎新平台管理系统(源码+文档+调试+基础修改+答疑)
  • HTTP 请求体格式详解
  • CyberPoC 是一个现代化的网络安全练习和竞赛平台,支持容器化部署的安全挑战,为用户提供实践网络安全技能的环境。
  • Mybatis Log Plugin打印日志,会导致CPU升高卡死
  • 并发编程原理与实战(二十七)深入剖析synchronized底层基石ObjectMonitor与对象头Mark Word
  • 国产化Word处理组件Spire.DOC教程:使用 Python 将 Markdown 转换为 HTML 的详细教程
  • CanMV K230 2025年度计划
  • 简单视频转换器 avi转mp4
  • 如何修改不同城市IP查询排名以增强广告投放效果
  • 04-Redis 启动与停止:服务管理全攻略(含命令行与图形化操作)
  • LangChain: Agent(代理)
  • 使用 BatchRendererGroup 创建渲染器
  • flutter鸿蒙:使用flutter_local_notifications实现本地通知
  • Redis中数据类型详解
  • CentOS 7安装最新nginx
  • 解决Win11 安全中心删掉存在隐患的工具
  • 二级缓存在实际项目中的应用
  • 第14篇:循环神经网络(RNN)与LSTM:序列建模的利器