• 当我们编写了测试以后,我们必须使用 RUN_ALL_TESTS() 宏来调用所有测试,返回0表示测试通过,1表示测试不通过
  • RUN_ALL_TESTS() 会运行我们所有的编译时你指定要链接的测试模块,一个测试程序只需要调用这个宏一次
  • 不能忽略 RUN_ALL_TESTS() 的返回值,否则报错
  • 有两种方法编译测试,以下分别介绍

编写测试main()函数

int main(int argc, char **argv) {
  testing::InitGoogleTest(&argc, argv);
  return RUN_ALL_TESTS();
}

InitGoogleTest()函数是传递命令行参数给gtest的,日后再说  

使用gtest_main库

如果为每个测试都编写上面的main函数就太繁琐了,gtest提供了gtest_main库,我们的测试模块只要链接它就可以编译出可执行文件了  

按照我之前给的配置,可以看到是链接了gtest_main库的,因此和测试模块一起编译就可以生成可执行文件了




Zhu

有问题欢迎发邮件交流