EXPECT 只产生普通错误,ASSERT 产生严重错误。 EXPECT 和 ASSERT 两种宏,都支持 << 输出字符串 -- 失败时输出日志。 比如我们编写如下测试用例 #include <gtest/gtest.h> TEST(SimpleTest, Expect) { EXPECT_EQ(1, 1); EXPECT_NE(1, 2); } TEST(SimpleTest, Expect2) { EXPECT_LT(2, 2) << "Fail...
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...
EXPECT_EQ( std::addressof(buffer), std::addressof(Generator::generate(buffer, NumberOfElements)) ); } 在这个测试中我使用 en.cppreference.com 来获取对象的地址,并用EXPECT_EQ来比较输入对象和返回对象是否是同一个。 检查元素个数 本测试检查作为输入的std::stringstream引用中的元素个数与输入参数中指...
1. ASSERT_* 系列的断言,当检查点失败时,退出当前函数(注意:并非退出当前案例)。 2. EXPECT_* 系列的断言,当检查点失败时,继续往下执行。 二、示例 //int型比较,预期值:3,实际值:Add(1, 2) EXPECT_EQ(3, Add(1,2)) // 假如你的Add(1, 2) 结果为4的话,会在结果中输出: g:\myproject\c++\gt...
例如,假设有一个函数add(a, b),用于计算两个数的和,我们可以使用Google Test Expect进行单元测试: 代码语言:txt 复制 int add(int a, int b) { return a + b; } TEST(AddTest, TestPositiveNumbers) { int result = add(2, 3); EXPECT_EQ(result, 5); // 断言结果等于5 } TEST(AddTest, Test...
EXPECT_NE(0, rate.calcRate(CAckTLEvent::ORTYPE_TLEvent_ONLINE)); string sql = "delete from obj_event where objoid='" + rate.getOid() + "';"; EXPECT_EQ((*db).exec(sql), 0); } 在文件中添加一行之后,编译执行通过,修改如下: ...
EXPECT_EQ(x[i], y[i]) << "Vectors x and y differ at index " << i; } 进阶:测试我们函数的API--ASSERT_*和EXPECT_* TEST, TEST_F TEST_P的区别 TEST()Example test 适合给static或全局函数或简单类编写单元测试时. ...
EXPECT_NO_THROW({ intn = 5; Bar(&n); }); 适用于: Linux, Windows, Mac; since version 1.1.0. 谓语断言 尽管Google Test 有一系列丰富的断言,但它们永远不会足够,因为不可能(也不是好主意)去预计用户可能遇到的所有情况。因此,有时用户会使用EXPECT_TRUE()来检查复杂的表达式,因为没有更好的宏可供...
使用断言:Google Test提供了一系列的断言宏,如EXPECT_EQ(),EXPECT_TRUE()等,你可以使用这些断言宏来检查测试结果是否符合预期。如果一个断言失败,Google Test会报告这个错误,并继续执行其他的测试。测试夹具:Google Test的一个强大功能是测试夹具(test fixtures)。你可以定义一个类,包含一些共享的测试数据和...
EXPECT_EQ(Positive(-2),-1); } intmain(intargc,char**argv) { // 分析gtest程序的命令行参数 testing::InitGoogleTest(&argc,argv); // 调用RUN_ALL_TESTS()运行所有测试用例 // main函数返回RUN_ALL_TESTS()的运行结果 returnRUN_ALL_TESTS(); ...