GoogleTest

松琦
2023-12-01

GoogleTest是Google提供的C++测试框架,可以用于白盒测试,改善单元测试效率。

概念:测试程序,测试用例,测试项。一个测试程序可以有多个用例,一个用例可以包含多个测试项。

断言:预期代码执行后的效果。assert,如果出错且导致致命错误,可以退出测试程序,否则即时出错也可以执行测试。googletest用ASSERT_和EXPECT_前缀来区分是否退出测试程序。

 

 

一些宏:

ASSERT_TRUE(condition)   //判断true or flash

ASSERT_EQ(exp_arg1, actual_arg2)    //判断arg1和arg2是否相等

ASSERT_STREQ(exp_str1, actual_str2) //判断两个字符串是否相等

TEST(test_case_name, test_name){...}     //声明一个测试,name不需要用字符串

TEST_F(test_case_name, test_name){...}   //多个测试使用了类似的测试数据时使用

RUN_ALL_TESTS()                          //运行所有的测试,在main函数中调用

 

测试环境搭建

分析Makefile,依赖关系一清二楚。

从Makefile看,纯C语言环境下,是没有办法使用googletest的,因为它使用g++编译出来的.a文件,gcc未必就认。另外,Linux内核环境下也是没有办法用googletest的,因为它需要多线程支持,ms。编译选项中有链接pthread

相关阅读

相关文章

相关问答