gotoGTEST_CONCAT_TOKEN_(gtest_label_,__LINE__);\}\break;\case::testing::internal::DeathTest::EXECUTE_TEST:{\::testing::internal::DeathTest::ReturnSentinel \gtest_sentinel(gtest_dt);\GTEST_EXECUTE_DEATH_TEST_STATEMENT_(statement,gtest_dt);\ gtest_dt->Abort(::testing::internal::DeathTest:...
EXPECT_DEATH(Foo(),""); } 重要:编写死亡测试案例时,TEST的第一个参数,即testcase_name,请使用DeathTest后缀。原因是gtest会优先运行死亡测试案例,应该是为线程安全考虑。 四、*_EXIT(statement, predicate, regex`) 1. statement是被测试的代码语句 2. predicate 在这里必须是一个委托,接收int型参数,并返回b...
比较值都可以是任意编译器能识别的可比较类型,当然包括指针,但是注意空指针比较:使用EXPECT_EQ(ptr, nullptr) 而不是 EXPECT_EQ(ptr, NULL),这个规则对于其他比较类的断言也适用.适用于字符串 std::string .但不适用于C string,如果传入的值为C string的话只比较内存地址不比较实际值.字符串断言...
TEST(MyDeathTest, NormalExit) { EXPECT_EXIT(NormalExit(), testing::ExitedWithCode(0),"Success"); } TEST(MyDeathTest, KillMyself) { EXPECT_EXIT(KillMyself(), testing::KilledBySignal(SIGKILL),"Sending myself unblockable signal"); } 检验项目: Foo(5)使进程死亡并得到指定的信息。 NormalExit...
TEST(DeathTest,NormalExit){EXPECT_EXIT(exit(456),ExitedWithCode(456),"");} Death Test终止测试详细内容 使用场景:检验程序的退出码,退出信号,退出时打印的字符串 终止测试的宏如下 设置期待程序退出时的exit code ExitedWithCode(exit_code) 设置程序退出时收到的Signal (只支持在Linux上使用) ...
EXPECT_EXIT(KillProcess(), testing::KilledBySignal(SIGKILL), "Sending myself unblockable signal"); } --gtest_death_test_style值为fast,立即执行执行死亡测试的语句.此方式为默认. --gtest_death_test_style值为threadsafe,安装测试代码设定的那样运行,目的是在线程安全性与测试执行效率间取得平衡. ...
std::exit(22); } TEST(tutorial_DeathTest, simpletest) {//转换:testcase名字需要以DeathTest结尾//因为DeathTests往往需要在其他test之前允许intx =90;//death的原因://1. 进程以非0值离开//2. 进程被一个信号杀死EXPECT_DEATH(function1(),"Bad thing happened"); //正则表达式 ...
TEST(FooDeathTest,Demo) { EXPECT_DEATH(Foo(),""); } 重要:编写死亡测试案例时,TEST的第一个参数,即testcase_name,请使用DeathTest后缀。原因是gtest会优先运行死亡测试案例,应该是为线程安全考虑。 四、*_EXIT(statement, predicate, regex`) 1. statement是被测试的代码语句 ...
voidFoo(){int*pInt=0;*pInt=42;}TEST(FooDeathTest,Demo){EXPECT_DEATH(Foo(),"");} 编写致命断言测试案例时,TEST的第一个参数,即testcase_name,请使用DeathTest后缀。原因是googletest会优先运行死亡测试案例,应该是为线程安全考虑。 *_EXIT(statement, predicate, regex`) ...
test::AssertionResult的返回类型有两个值如下: namespace testing { //成功 AssertionResult AssertionSuccess(); //失败 AssertionResult AssertionFailure(const Message& msg); } 作为例子,我们来改善前面使用EXPECT_PRED2()的那个例子里的失败信息: //求最小公约数 ...