gtest全局套件的测试使用

gtest全局套件的测试使用

C++ 复制代码
#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;
}

运行结果:

bash 复制代码
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: 1
  2
[  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.test2

 1 FAILED TEST
相关推荐
谢尔登13 小时前
【Nest】单元测试
单元测试·log4j
编啊编程啊程1 天前
【011】宠物共享平台
spring boot·log4j·maven·dubbo·宠物
为java加瓦11 天前
优化 Service 层架构:从高耦合到清晰分层的实战重构指南
log4j
Y1_again_0_again12 天前
Java中第三方日志库-Log4J
java·开发语言·log4j
杨小熊的笔记15 天前
final字段单元测试
单元测试·log4j
东方芷兰17 天前
JavaWeb 课堂笔记 —— 20 SpringBootWeb案例 配置文件
java·开发语言·笔记·算法·log4j·intellij-idea·lua
zero13_小葵司22 天前
基于Springboot的DDD实战(不依赖框架)
java·spring boot·log4j
加菲猫86025 天前
Apache Log4j2 lookup JNDI 注入漏洞(CVE-2021-44228)
log4j·apache
蛋黄液1 个月前
【黑马程序员】后端Web基础--Maven基础和基础知识
前端·log4j·maven