statement是否abort或者exit 在使用ASSERT_EXIT和EXPECT_EXIT时, 退出状态是否满足谓词;在使用ASSERT_DEATH和EXPECT_DEATH时,退出码是否非零。 stderr的输出是够满足matcher。 特别的,如果因为ASSERT_*或者EXPECT_*导致的程序失败不会导致死亡测试失败。 // calling Foo(5) causes the process to die with the given...
gtest中断言的宏可以分为两类:一类是ASSERT宏,另一类就是EXPECT宏了。 1、ASSERT_系列:如果当前点检测失败则退出当前函数 2、EXPECT_系列:如果当前点检测失败则继续往下执行 如果你对自动输出的错误信息不满意的话,也是可以通过operator<<能够在失败的时候打印日志,将一些自定义的信息输出。 ASSERT_系列: bool值检查...
这里, 要说明的是,*_DEATH其实是对*_EXIT进行的一次包装,*_DEATH的predicate判断进程是否以非0退出码退出或被一个信号杀死。 例子: TEST(ExitDeathTest, Demo) { EXPECT_EXIT(_exit(1), testing::ExitedWithCode(1), ""); } 五、*_DEBUG_DEATH 先来看定义: #ifdef NDEBUG #define EXPECT_DEBUG_DEATH(...
gtest中断言的宏可以分为两类:一类是ASSERT宏,另一类就是EXPECT宏了。 1、ASSERT_系列:如果当前点检测失败则退出当前函数 2、EXPECT_系列:如果当前点检测失败则继续往下执行 如果你对自动输出的错误信息不满意的话,也是可以通过operator<<能够在失败的时候打印日志,将一些自定义的信息输出。 ASSERT_系列: bool值检查...
也可以将上表中的EXPECT_PRED_FORMAT2替换为ASSERT_PRED_FORMAT2。 使用gMock匹配器进行断言 gMock带有一个匹配器库,用于验证传递给模拟对象的参数。gMock匹配器是知道如何描述自己的基本谓词。可以在这些断言宏中使用gMock匹配器。 Fatal assertionNonfatal assertionVerifies ASSERT_THAT(value, matcher); EXPECT_THAT(...
EXPECT_EQ(1.Factorial(0); } TEST(FactorialTest,Positive) { EXPECT_EQ(2.Factorial(2); } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 2、EXPECT_* 和ASSERT_* 的异同 //相同之处 1. {ASSERT|EXPECT}_EQ(expected,actual): Tests that expected == actual ...
二、gtest系列之断言gtest中断言的宏可以分为两类:一类是ASSERT宏,另一类就是EXPECT宏了。 1、ASSERT_系列:如果当前点检测失败则退出当前函数 2、EXPECT_系列:如果当前点检测失败则继续往下执行 如果你对自动输出的错误信息不满意的话,也是可以通过operator<<能够在失败的时候打印日志,将一些自定义的信息输出。 ASSERT...
void Foo() { int *pInt = 0; *pInt = 42 ; } TEST(FooDeathTest, Demo) { EXPECT_DEATH(Foo(), ""); } 重要:编写死亡测试案例时,TEST的第一个参数,即testcase_name,请使用DeathTest后缀。原因是gtest会优先运行死亡测试案例,应该是为线程安全考虑。 四、*_EXIT(statement, predicate, regex`) 1....
gtest中断言的宏可以分为两类:一类是ASSERT宏,另一类就是EXPECT宏了。 1、ASSERT_系列:如果当前点检测失败则退出当前函数 2、EXPECT_系列:如果当前点检测失败则继续往下执行 如果你对自动输出的错误信息不满意的话,也是可以通过operator<<能够在失败的时候打印日志,将一些自定义的信息输出。
std::cerr << "Fatal Failure" <<std::end; exit(-1); 条件断言 基本断言主要时判断条件是否为真,具有致命和非致命的类型。接下来的断言只给出ASSERT_xxx形式,默认是有对应的EXPECT_xxx版本。 int add(int a, int b); TEST(GeneralTest, BasicAssertion) { ASSERT_TRUE(add(1, 2) == 3); ASSERT...