运行结果如下图所示,代码中的TEST是一个宏,用来创建测试用例,它有test_case_name和test_name两个参数。分别是测试用例名和测试名,在后面的文章中我们会对其有更深刻的理解,这里就不细说了。RUN_ALL_TESTS也是一个宏,它是测试用例的入口。EXPECT_EQ这个是一个断言相关的宏,用来检测两个数值是否相等。 相关视频推...
EXPECT_STREQ("CoderZh", strCoderZh.c_str()); EXPECT_STREQ(L"CoderZh", wstrCoderZh.c_str()); } 六、显示返回成功或失败 直接返回成功:SUCCEED(); 返回失败: TEST(ExplicitTest, Demo) { ADD_FAILURE()<<"Sorry";//None Fatal Asserton,继续往下执行。 //FAIL();//Fatal Assertion,不往下执行...
EXPECT_EQ(add(1,2), 2); std::cout << "add function end" << std::endl; std::cout << "sub function start" << std::endl; EXPECT_EQ(sub(1,2), -1); std::cout << "sub function end" << std::endl; std::cout << "--- test_expect end---" << std::endl; } TEST(tes...
GoogleTest初探(1) 此篇主要了解一下GoogleTest中的断言。 总的来说,GoogleTest中的断言分为两大类:EXPECT_*和ASSERT_*,这两者在测试成功或失败后均会给出测试报告,区别是前者在测试失败后会继续执行下面的测试,而后者在测试失败后会立即终止测试。 GoogleTest中的比较断言,涉及整型,字符串, 浮点型,布尔型的比较...
gtest是一个跨平台的(Liunx、Mac OS X、Windows、Cygwin、Windows CE and Symbian)C++单元测试框架,由...
断言其实之前接触过:assert()。googletest要比这个功能多一些。 断言成对出现,它们测试相同的东西,但对当前函数有不同的影响。 ASSERT_* 版本在失败时产生致命失败,并中止当前函数。 EXPECT_* 版本生成非致命失败,它不会中止当前函数。通常首选EXPECT_* ,因为它们允许在测试中报告一个以上的失败。但是,如果在有问题...
EXPECT_STREQ(L"CoderZh", wstrCoderZh.c_str()); } 六、显示返回成功或失败 直接返回成功:SUCCEED(); 返回失败: TEST(ExplicitTest, Demo) { ADD_FAILURE()<<"Sorry";//None Fatal Asserton,继续往下执行。 //FAIL();//Fatal Assertion,不往下执行该案例。
如果违反该规则,则可能不会立即产生后果,但是测试可能(仅仅是可能)会因新的编译器(或您正在使用的新版本的编译器)或新版本的googletest而中断。 因此,最好遵循该规则。 为什么googletest支持EXPECT_EQ(NULL,ptr)和ASSERT_EQ(NULL,ptr)但不支持EXPECT_NE(NULL,ptr)和ASSERT_NE(NULL,ptr)?
我们对比下EXPECT_TRUE和ASSERT_TRUE的实现 代码语言:javascript 复制 #define EXPECT_TRUE(condition) \ GTEST_TEST_BOOLEAN_(condition, #condition, false, true, \ GTEST_NONFATAL_FAILURE_) 代码语言:javascript 复制 #define ASSERT_TRUE(condition) \ GTEST_TEST_BOOLEAN_(condition, #condition, false, true...
我们来看下EXPECT_DEATH的实现,其最终将调用到GTEST_DEATH_TEST_宏中 代码语言:javascript 复制 # define GTEST_DEATH_TEST_(statement, predicate, regex, fail) \ GTEST_AMBIGUOUS_ELSE_BLOCKER_ \ if (::testing::internal::AlwaysTrue()) { \ const ::testing::internal::RE& gtest_regex = (regex); ...