EXPECT_EQ(2, Foo(4, 10)); // 可通过 ASSERT_* 和 EXPECT_* 断言来对程序运行结果进行检查 EXPECT_EQ(6, Foo(30, 18)); EXPECT_ANY_THROW(Foo(10, 0)) << "params: " << 10 << ", " << 0; EXPECT_THROW(Foo(0, 5), char*); } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11...
七、断言的宏EXPECT_EQ 这里,我只写一个简单的EXPECT_EQ : #defineEXPECT_EQ(m, n) \ if(m!=n) \ { \ UnitTest::GetInstance()->CurrentTestCase->nTestResult=0; \ std::cout<<red<<"Failed"<<std::endl; \ std::cout<<red<<"Expect:"<<m<<std::endl; \ std::cout<<red<<"Actual:"...
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(6, Factorial(3)); E...
七、断言的宏EXPECT_EQ 这里,我只写一个简单的EXPECT_EQ : #defineEXPECT_EQ(m, n) \ if(m!=n) \ { \ UnitTest::GetInstance()->CurrentTestCase->nTestResult=0; \ std::cout<<red<<"Failed"<<std::endl; \ std::cout<<red<<"Expect:"<<m<<std::endl; \ std::cout<<red<<"Actual:"...
EXPECT*可以让用户在一个测试用例中检查多次输入返回,即使失败也不退出;ASSERT*可以在测试用例中产生严重错误导致后续操作无意义时直接中断测试。这两类断言在语法支持上都是一一对应的,可以根据具体的需求使用。 两个数比较断言 上图中给出了两个数比较的断言说明(摘自gtest说明文档primer.md),可以看到对于同一个...
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...
Test{protected:virtualvoidSetUp(){_m_list[0]=11;_m_list[1]=12;_m_list[2]=13;}int _m_list[3];};TEST_F(ListTest,FirstElement){EXPECT_EQ(11,_m_list[0]);}TEST_F(ListTest,SecondElement){EXPECT_EQ(12,_m_list[1]);}TEST_F(ListTest,ThirdElement){EXPECT_EQ(0,_m_list[2]);...
); ASSERT_FALSE( condition ); //二元比较 //等于 EXPECT_EQ( val1 , val2 ); ASSERT_EQ( ...
#include "nancytest.h"int Foo(int a, int b){ return a + b;}NTEST(FooTest_PassDemo){ EXPECT_EQ(3, Foo(1, 2)); EXPECT_EQ(2, Foo(1, 1));}NTEST(FooTest_FailDemo){ EXPECT_EQ(4, Foo(1, 2)); EXPECT_EQ(2, Foo(1, 2));}int _tmain(int argc, _TCHAR* argv[]){ retu...
实际上,大多数确实是使用(EXPECT | ASSERT)_PRED_FORMAT *定义的。 浮点数比较 比较浮点数很棘手。由于舍入误差,两个浮点将很难完全匹配。因此ASSERT_EQ的比较通常不起作用。由于浮点具有十分广泛的取值范围,没有单个固定的错误界限能够一直有效。最好以固定的相对误差范围进行比较,除了那些接近0的值,因为浮点数在...