EXPECT_GT(Factorial(-10), 0); } TEST(IsPrimeTest, Negative) { // This test belongs to the IsPrimeTest test case. EXPECT_FALSE(IsPrime(-1)); EXPECT_FALSE(IsPrime(-2)); EXPECT_FALSE(IsPrime(INT_MIN)); } // Returns true if m and n have no commondivisorsexcept 1. bool MutuallyPrime...
EXPECT_EQ(1, Factorial(-5)); EXPECT_EQ(1, Factorial(-1)); EXPECT_GT(Factorial(-10), 0); } // 测试0 TEST(FactorialTest, Zero) { EXPECT_EQ(1, Factorial(0)); } // 测试正数 TEST(FactorialTest, Positive) { EXPECT_EQ(1, Factorial(1)); EXPECT_EQ(2, Factorial(2)); EXPECT_EQ(...
在上述示例中,EXPECT_EQ是一个EXPECT系列的宏,用于判断两个值是否相等。如果断言失败(即实际结果与预期结果不一致),Google Test会将测试结果标记为失败,并输出相关信息。 Google Test还提供了其他类型的EXPECT_宏,用于不同类型的比较,如EXPECT_TRUE、EXPECT_FALSE、EXPECT_LT(小于)、EXPECT_GT(大于)、EXPECT_LE(小...
TEST(FactorialTest, Negative) {//This test is named "Negative", and belongs to the "FactorialTest"//test case.EXPECT_EQ(1, Factorial(-5)); EXPECT_EQ(1, Factorial(-10)); EXPECT_GT(Factorial(-10),0); } //Tests factorial of 0.TEST(FactorialTest, Zero) { EXPECT_EQ(1, Factorial...
EXPECT_EQ(3, Add(1,2)) // 假如你的Add(1, 2) 结果为4的话,会在结果中输出: g:\myproject\c++\gtestdemo\gtestdemo\gtestdemo.cpp(16): error: Value of: Add(1,2) Actual:4 Expected:3 如果是将结果输出到xml里的话,将输出:(关于将结果输出为xml,见:http://www.cnblogs.com/coderzh/archiv...
EXPECT_EQ, EXPECT_NE,EXPECT_LT,EXPECT_GT,EXPECT_LE,EXPECT_GE 另外,GTEST还支持STRING的比较。相关函数有(以ASSERT为例) ASSERT_STREQ,ASSERT_STRNE,ASSERT_STRCASEEQ,ASSERT_STRCASENE 4. TEST与TEST_F之间的区别 TEST_F比TEST强一些的地方在于TEST_F实际上会生成一个新类,该类有SetUp和TearDown函数用于...
大部分的使用都是一样的,下面只对几个有代表性的做使用示例;为了方便,只对ASSERT做示例,因为它的效果和EXPECT完全一致,上文已经提到了二者的区别了。 4.1 ASSERT_EXIT ASSERT_EXIT有三个参数,分别为待测函数、退出码或退出信号、错误信息regex;待测函数必须以指定的错误码或错误信号退出程序,并在stderr中打印能被...
EXPECT_EQ(3, Add(1,2)) // 假如你的Add(1, 2) 结果为4的话,会在结果中输出: g:\myproject\c++\gtestdemo\gtestdemo\gtestdemo.cpp(16): error: Value of: Add(1,2) Actual:4 Expected:3 如果是将结果输出到xml里的话,将输出:(关于将结果输出为xml,见:http://www.cnblogs.com/coderzh/archiv...
ASSERT_GT(val1, val2)EXPECT_GT(val1, val2)val1 > val2 ASSERT_GE(val1, val2)EXPECT_GE(val1, val2)val1 >= val2 值参数必须是断言的比较操作符可比较的,否则将报出编译错误。 例: // int型比较,预期值:4,实际值:Add(1, 2)EXPECT_EQ(4,Add(1,2)) ...
可以见得它们和基本断言一样——EXPECT在失败的情况下没有return(失败时调用了GTEST_NONFATAL_FAILURE_),而ASSERT在失败的情况下return掉了(失败时调用了GTEST_FATAL_FAILURE_)。 一般来说二进制比较,都是对比其结构体所在内存的内容。C++大部分原生类型都是可以使用二进制对比的。但是对于自定义类型,我们就要定义一些...