TEST_P(CheckBisEven,Test){EXPECT_TRUE(Even(GetParam()));} 最后我们可以使用Range、Values或者ValuesIn的方式指定Even的参数值 代码语言:javascript 复制 INSTANTIATE_TEST_CASE_P(TestBisValuesRange,CheckBisEven,Range(0,9,2));INSTANTIATE_TEST_CASE_P(TestBisValues,CheckBisEven,Values(11,12,13,14));...
语法: ASSERT_TRUE, 确保值为真,如果失败时,测试case会直接退出,而EXPECT_TRUE则不会。 语法:EXPECT_EQ 期待值相等 使用场景:对数值条件进行比较判定 //期待b等于3intb=3;EXPECT_EQ(b,3); 语法:EXPECT_STREQ 字符串比较 //期待GetValueStr返回值等于 字符串"TEST0"EXPECT_STREQ(GetValueStr(),"TEST0") ...
测试代码通常包含测试套件(test suites)和测试案例(test cases),使用Google Test提供的宏和断言来定义。 测试文件(如first_test.cpp)可能包含以下内容: #include <gtest/gtest.h> // 被测试的函数 int Add(int a, int b) { return a + b; } // 测试案例 TEST(AddTest, HandlesPositiveInput) { EXPECT...
TEST(FooTest, HandleZeroInput) { EXPECT_ANY_THROW(Foo(10,0)); EXPECT_THROW(Foo(0,5),char*); } 八、Predicate Assertions 在使用EXPECT_TRUE或ASSERT_TRUE时,有时希望能够输出更加详细的信息,比如检查一个函数的返回值TRUE还是FALSE时,希望能够输出传入的参数是什么,以便失败后好跟踪。因此提供了如下的断...
TEST 是一个宏,有两个参数,googtest对其解释为:test_case_name,test_name。 EXPECT_TRUE,见字知义,用来比较所传递的参数是否返回true。类似的有EXPECT_FALSE。 另:googletest还包装了另一个宏 ASSERT_*, 与EXPECT_* 的区别是: ASSERT_*版本的断言失败时会产生致命失败,并结束当前函数,后面的语句将不会执行。
googletest中,断言的宏可以理解为分为两类,一类是ASSERT系列,一类是EXPECT系列。一个直观的解释就是: ASSERT_* 系列的断言,当检查点失败时,退出当前函数(注意:并非退出当前案例)。 EXPECT_* 系列的断言,当检查点失败时,继续往下执行。 基本断言 这些断言执行基本的 true/false 条件测试。
GoogleTest(参数化)-4 之前的都是一个个的去进行测试,比如一个判断是不是素数的函数,我测试就需要这样: TEST(IsPrimeTest, HandleTrueReturn) { EXPECT_TRUE(IsPrime(3)); EXPECT_TRUE(IsPrime(5)); EXPECT_TRUE(IsPrime(11)); EXPECT_TRUE(IsPrime(23));...
EXPECT_STREQ(L"CoderZh", wstrCoderZh.c_str()); } 六、显示返回成功或失败 直接返回成功:SUCCEED(); 返回失败: TEST(ExplicitTest, Demo) { ADD_FAILURE()<<"Sorry";//None Fatal Asserton,继续往下执行。 //FAIL();//Fatal Assertion,不往下执行该案例。
TEST(IsPrimeTest,Negative){// This test belongs to the IsPrimeTest test case.EXPECT_FALSE(IsPrime(-1));EXPECT_FALSE(IsPrime(-2));EXPECT_FALSE(IsPrime(INT_MIN));}// Tests some trivial cases.TEST(IsPrimeTest,Trivial){EXPECT_FALSE(IsPrime(0));EXPECT_FALSE(IsPrime(1));EXPECT_TRUE(IsPrime(2...
testing::InitGoogleTest(&argc, argv); vector<int> x={1,2,3,5}; // EXPECT_EQ使用 for (int i = 0; i < x.size(); ++i) { EXPECT_EQ(x[i], 1) << "Vectors x and y differ at index " << i; } RUN_ALL_TESTS();