单元测试利器之google test

发表于:2013-10-11 11:48

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:程海无涯    来源:51Testing软件测试网采编

分享:
  3、编译测试
#g++ -g test_foo_cpp -o test_foo \
#-I../gtest-1.7.0/include \
#../gtest-1.7.0/lib/.libs/libgtest.a \
#../gtest-1.7.0/lib/.libs/libgtest_main.a \
#-lpthread
  编译链接生成可执行文件test_foo,执行结果如下:
  4、测试说明
  (1)用TEST宏编写测试用例
  gtest提供了TEST宏来编写测试用例,这个宏有两个参数,这两个参数只是起到提示作用,可以根据需要如下理解或使用:
  (A)第一个参数表示测试用例名称,第二个参数表示测试名称;
  (B)第一个参数表示类名,第二个参数表示方法名;
  (C)第一个参数表示文件名,第二个参数表示函数名。
  比如前面test_foo.cpp中的TEST(foo, max)就是采用的(C)这种方式。
  (2)用EXPECT_*/ASSERT_*宏设置检查点
  gtest提供了一系列EXPECT_*和ASSERT_*宏在测试用例中设置检查点进行检查,EXPECT系列和ASSERT系列宏的区别在于:
  (A)EXPECT_*失败时,用例继续往下执行。
  (B)ASSERT_*失败时,直接在当前函数中返回,当前函数中ASSERT_*后面的语句将不会执行。
  比如前面TEST(foo, max)函数中的语句EXPECT_EQ(2, max(2, 1))用于测试max(2, 1)的执行结果是否等于2,如果不相等,则用例执行失败,否则成功。
  (3)初始化环境变量设置用例
  gtest测试用例允许接收一系列命令行参数以进行一些初始化操作,通常在main函数中调用::testing::InitGoogleTest(&argc, argv)来初始化一些环境变量。
  (4)运行测试用例
  一切准备妥当后,接着就运行所有测试用例以完成单元测试。gtest提供了RUN_ALL_TEST()宏用于调用所有TEST宏编写的测试用例以达到我们的终极目标。
22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号