四、TestCase事件
TestCase事件是挂在每个案例执行前后的,实现方式和上面的几乎一样,不过需要实现的是SetUp方法和TearDown方法:
1. SetUp()方法在每个TestCase之前执行
2. TearDown()方法在每个TestCase之后执行
class FooCalcTest:public testing::Test { protected: virtual void SetUp() { m_foo.Init(); } virtual void TearDown() { m_foo.Finalize(); } FooCalc m_foo; }; TEST_F(FooCalcTest, HandleNoneZeroInput) { EXPECT_EQ(4, m_foo.Calc(12, 16)); } TEST_F(FooCalcTest, HandleNoneZeroInput_Error) { EXPECT_EQ(5, m_foo.Calc(12, 16)); } |
五、总结
gtest提供的这三种事件机制还是非常的简单和灵活的。同时,通过继承Test类,使用TEST_F宏,我们可以在案例之间共享一些通用方法,共享资源。使得我们的案例更加的简洁,清晰。
相关链接: