March
20th,
2015
- 当我们编写了测试以后,我们必须使用 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库的,因此和测试模块一起编译就可以生成可执行文件了