when someone abandons you,it is him that gets loss because he lost someone who truly loves him but you just lost one who doesn’t love you.
gtest 的事件机制有两类基本的意义:
gtest 中的事件分成基本的三个层次,即整个测试程序、相关测试的组 / 套件、测试用例,对应 gtest 中三类基本的事件机制:
在所有 case 执行前后动作
需要自定义一个测试类,继承自 testing::Environment 类,实现使用的标记 SetUp()、TearDown() 两个虚函数,在所有测试开始前执行 SetUp() 函数,测试结束后执行 TearDown() 函数
1 | class FooEnvironment : public testing::Environment |
需要告诉 gtest 添加这个全局事件,需要在 main() 函数中通过 testing::AddGlobalTestEnvironment 方法将事件挂进来,也就是说,可以写很多个这样的类,然后将他们的事件都挂上去
1 | int _tmain(int argc, _TCHAR* argv[]) |
在每组 case 执行前后动作
需要定义一个类,继承自 testing::Test,实现应用标记 SetUpTestSuite()、TearDownTestSuite() 两个静态函数,在组执行前执行这两个相关函数
1 | class FooTest : public testing::Test |
组处理事件不需要像全局事件那样需要注册,在编写 case 时,需要使用 TEST_F 这个宏,第一个参数必须是上面类的名字,代表一个 TestSuite
1 | TEST_F(FooTest, Test1) {} |
在每个 case 执行前后动作
和组事件创建类似,它使用的标记是 SetUp()、TearDown() 两个函数,非静态,在执行案例前调用这两个相关函数即可
1 | class FooCalcTest : public testing::Test |
在编写 case 时,需要使用 TEST_F 这个宏
1 | TEST_F(FooCalcTest, HandleNoneZeroInput) |
all time is no time when it is past.