文章目录
TestCase的介绍
本章节主要介绍在使用Gtest单元测试的常用宏的用法及说明。其目的达到如何使用Gtest即可不做深入研究其运行原理。
Gtest提供了若干个case方法进行测试不同的用例。主要常见的有TEST/TEST_F及TEST_P宏的使用。
在每个TestCase中可以通过断言([断言类型介绍])提供的方法进行控制检查程序的预期走向是否是期望的结果,从而以此来判定程序的正确性。
在同一份TestCase中不能同时出现TEST和TEST_F两者进行混用;
其次TEST_F比TEST强的地方是会通过继承::testing::Test生成一个新类,而且这是必须的。在新类中可以通过void SetUp();和void TearDown();进行创建和清除相关的资源数据;
TEST宏
TEST宏的作用是创建一个简单测试,它定义了一个测试函数,在这个函数里可以使用任何C++代码并使用提供的断言([断言类型介绍])来进行检查。
TEST语法定义:
TEST(test_case_name, test_name)
- test_case_name第一个参数是测试用例名,通常是取测试函数名或者测试类名
- -test_name 第二个参数是测试名这个随便取,但最好取有意义的名称
- 当测试完成后显示的测试结果将以"测试用例名.测试名"的形式给出
我们以gtest自带的sample1例子为例,直接查看其输出结果。
TEST_F宏
TEST_F主要是进行多样测试,就是多种不同情况的测试TestCase中都会使用相同一份的测试数据的时候将会才用它。
即用相同的数据测试不同的行为,如果采用TEST宏进行测试那么将会为不同的测试case创建一份数据。TEST_F宏将会共用一份避免重复拷贝共具灵活性。
语法定义为:
TEST_F(test_case_name, test_name);
- test_case_name第一个参数是测试用例名,必须取类名。这个和TEST宏不同
- test_name 第二个参数是测试名这个随便取,但最好取有意义的名称
- 使用TEST_F时必须继承::testing::Test类。并且该类提供了两个接口void SetUp(); void TearDown(); void SetUp()函数,为测试准备对象. void TearDown()函数 为测试后销毁对象资源。
我们以gtest自带的sample3例子为例,直接查看其输出结果。
版权归原作者 胖茄子 所有, 如有侵权,请联系我们删除。