在EXPECT_EQ中使用GTest/GMock匹配器,可以通过匹配器来进行更灵活和精确的断言。GTest/GMock是Google提供的一组C++测试框架和模拟框架,用于编写单元测试和创建模拟对象。...
EXPECT_TRUE(ret):ret == true EXPECT_FALSE(ret):ret == false 2、等于不等于 EXPECT_EQ(expected, actual):expected == actual EXPECT_NE(expected, actual):expected != actual EXPECT_FLOAT_EQ(expected, actual):(float)expected == actual EXPECT_DOUBLE_EQ(expected, actual):(double)expected == ac...
TEST(complexOperatorsSuite, addTest ){ EXPECT_EQ(...); } 1. 2. 3. gtest的main函数隐藏在它生成的 .lib文件中。 gtest会自动收集类似 TEST{}这样的代码结构作为运行项。 不想多说了,看着sample例程学起来比较容易,程序员还是适合看代码体会式的学习^^...
1. EXPECT_EQ:预期两个值相等。如果两个值不相等,gtest会记录一个错误,但不会立即停止当前的测试。 2. EXPECT_NE:预期两个值不相等。如果两个值相等,gtest会记录一个错误,但不会立即停止当前的测试。 3. EXPECT_LT:预期第一个值小于第二个值。如果第一个值不小于第二个值,gtest会记录一个错误,但不会立...
EXPECT_EQ(7 * 6, 42) 断言两个数值相等。 在src/test_mock.cpp添加以下代码 #include <gtest/gtest.h> #include <gmock/gmock.h> // 定义一个接口 class MyInterface { public: virtual ~MyInterface() = default; virtual int Foo(int x) = 0; }; // 使用gmock生成Mock类 class MockMyInterface...
EXPECT_EQ(std::string("a"), "a"); EXPECT_NE(std::string("a"), "b"); { const char* cstr_1 = "abc"; const char* cstr_2 = "abc"; // 虽然两者相等,但是只是指针地址相等 // a_cstr和b_cstr拥有相同的地址是因为编译器 // 将相同的字符串常量放到了同一个常量区。 EXPECT_EQ(cstr...
但有时我希望我可以使用匹配器来检查两个对象是否与EXPECT_EQ相同(例如,FloatNear而不是EXPECT_FLOAT_...
EXPECT_EQ(-3, add(-1, -2)); } TEST(SortTest, LessSortTest) { int arr[5] = {1,8,7,4,5}; int dest[5] = {1, 4, 5,7,8}; sortArr(arr, 5, less<int>()); EXPECT_EQ(memcmp(dest, arr, sizeof(arr)), 0); }
1.*_EQ 期待值和对比值相等 2.*_NE 期待值和对比值不相等 3.*_LT 期待值小于对比值 4.*_LE 期待值小于等于对比值 5.*_GT 期待值大于对比值 6.*_GE 期待值大于等于对比值 //期待b等于3 int b=3; EXPECT_EQ(b,3); 1 2 3 终止断言普通判定验证 ASSERT_EQ(val1, val2) EXPECT_EQ(val1,...
2. EXPECT_* 系列的断言,当检查点失败时,继续往下执行。 二、示例 // int型比较,预期值:3,实际值:Add(1, 2) EXPECT_EQ(3, Add(1, 2)) // 假如你的Add(1, 2) 结果为4的话,会在结果中输出: g:\myproject\c++\gtestdemo\gtestdemo\gtestdemo.cpp(16): error: Value of: Add(1, 2) ...