1,EXPECT_*系列和ASSERT_*系列。
这两个系列的函数都是用于断言,也就是说判断是否满足要求,满不满足都会输出log。
举个例子,EXPECT_EQ(3,Add(1, 3))这里就是判断3和Add(1, 3)是否相等,然后在结果中输出
g:\myproject\c++\gtestdemo\gtestdemo\gtestdemo.cpp(16):
error: Value of: Add(1, 3) Actual: 4 Expected:3
这里会返回error,因为前面是3所以要equal的话后面也要等于3,所以期望是3,但是1+3实际
返回了4,所以error。
其他类型还有EXPECT_TRUE和EXPECT_FALSE等等。
接下来我说说两者的区别,EXPECT_用于打出信息,如果是否error都会往下执行,也就说用于
查看。
而ASSERT_用于检查,一旦检查失败就退出当前函数(不是退出当前程序)。
注意:只有失败了error才会打出信息,成功是不会打的。
强化:如果遇到特殊情况,例如在循环里面报错了,那根本就不知道是i = ?的时候退出的,所以
加入了新的元素,<<.
例子,EXPECT_TRUE(FALSE)<<"mimida?"<<i;
输出的是
g:\myproject\c++\gtestdemo\gtestdemo\gtestdemo.cpp(16):
error: Value of:FALSE Actual: FALSE,Expected:TRUE
mimida?8(i=8)//这一行是输入输出流打出来的
2,ifstream
输入流,把文件的东西读到流里面。
例如
std::ifstream input("./case/encoding/utf8");
这里就是把utf8读到input里面去了。
3,getline
从流元素里读到变量里。如果是getline
时间: 2024-10-08 10:44:19