gtest TEST_F 的使用模板(例子)
在Visual Studio 21-7 环境中:(竟然可以变量名直接使用汉字)
#pragma once #include "stdafx.h" #include <gtest/gtest.h> class 我的全局环境设置 : public testing::Environment { public: virtual void SetUp() { std::cout << "全局环境启动 SetUP" << std::endl; } virtual void TearDown() { std::cout << "全局环境完成 TearDown" << std::endl; } 我的全局环境设置() { std::cout << "全局环境的构造函数" << std::endl; } ~我的全局环境设置() { std::cout << "析构函数" << std::endl; } //no use }; class 套装例子 : public testing::Test { protected: static void SetUpTestCase() { std::cout << "测试套装启动 SetUpTestCase" << std::endl; } static void TearDownTestCase() { std::cout << "测试套装完成 TearDownTestCase" << std::endl; } protected: virtual void SetUp() { std::cout << "个例测试启动 SetUp" << std::endl; } virtual void TearDown() { std::cout << "个例测试完成 TearDown" << std::endl; } };
TEST_F(套装例子, 套装例子1) { } TEST_F(套装例子, 套装例子2) { }
#include "stdafx.h" #include <gtest/gtest.h> #include "JFgTest.h" int main(int argc, _TCHAR* argv[]) { testing::AddGlobalTestEnvironment( new 我的全局环境设置); testing::InitGoogleTest(&argc, argv); int a = RUN_ALL_TESTS(); system("pause"); return a; }
全局环境的构造函数
[==========] Running 2 tests from 1 test case.
[----------] Global test environment set-up.
全局环境启动 SetUP
[----------] 2 tests from 套装例子
测试套装启动 SetUpTestCase
[ RUN ] 套装例子.套装例子1
个例测试启动 SetUp
个例测试完成 TearDown
[ OK ] 套装例子.套装例子1 (3 ms)
[ RUN ] 套装例子.套装例子2
个例测试启动 SetUp
个例测试完成 TearDown
[ OK ] 套装例子.套装例子2 (3 ms)
测试套装完成 TearDownTestCase
[----------] 2 tests from 套装例子 (8 ms total)
[----------] Global test environment tear-down
全局环境完成 TearDown
[==========] 2 tests from 1 test case ran. (21 ms total)
[ PASSED ] 2 tests.
请按任意键继续. . .