我们先看看下面这个图:
- TEST(TestName, Subtest_1) {
- //Arrange
- int value = 100;
- int increment = 5;
-
- //Act
- value = value + increment;
-
- //Assert
- ASSERT_EQ(value, 105);
- }
如上述代码,是按照编写测试用例三步法去实现的。这也是测试用例的整体框架。
举个例子验证:
输出结果:
四、字符串验证函数
字符串验证函数在《GoogleTest学习笔记(一)》中有提到,下面举例使用ASSERT_STREQ(..)函数。
- class Myclass {
- string id;
- public:
- Myclass(string _id):id(_id){} //constructor function
- string GetId() {return id;}
- };
-
- TEST(TestName, Subtest_1) {
- //Arrange
- Myclass mc("king");
-
- //Act
- string value = mc.GetId();
-
- //Assert
- ASSERT_STREQ(value.c_str(), "king"); //此处不能使用ASSERT_EQ去判断字符串, value.c_str()是把string 对象转换成c中的字符串样式;如果把ASSERT_STREQ换成EXPECT_STREQ(..)得出的结果和下面一样
- }
测试结果如下:
如果给个错误的字符串,如果把"king"改成"king1108", 应该测试failed.