Win32平台如何编译使用Google test编写的单元测试?

2014-11-24 10:24:36 · 作者: · 浏览: 0

Win32平台如何编译单元测试的代码?(readme文件并没有明确指出,我们需要自行配置)



1. 单元测试从何处运行?



main函数位于gtest_main.cc文件中,如下。



2. Win32平台如何配置?



综上分析,在Win32平台,要编译、运行自己编写的单元测试,要进行以下设置(vs2005为例)



假设环境变量


GTEST_ROOT=E:/opensource/gtest-1.5.0



2.1 IDE中编译



Step1. 设置vs2005


Tools->options->projects and solutions->VC++ directories


->Include files: 添加$(GTEST_ROOT)/include$(GTEST_ROOT)


->Library files: 添加$(GTEST_ROOT)/lib


此处的Library files也可以不添加$(GTEST_ROOT)/lib



Step2. gtest_main.ccgtest-all.cc添加到工程



Step3. 编译使用google test编写的单元测试



2.2 通过命令行编译



(1) 配置



通过命令行编译,需要设置环境变量INCLUDE,在其后添加%GTEST_ROOT%;%GTEST_ROOT%/include



例如,笔者机器上环境变量INCLUDE的值为:


%VCInstallDir%/ATLMFC/INCLUDE;%VCInstallDir%/INCLUDE;%VCInstallDir%/PlatformSDK/include;%VSInstallDir%/SDK/v2.0/include;%ACE_ROOT%;%BOOST_1_40_ROOT%;%CPPUNIT_ROOT%/include;%GTEST_ROOT%;%GTEST_ROOT%/include



(2) 命令



环境变量INCLUDE配置后,该如何写命令呢?



cl /wd 4530 /nologo test.cpp sample.cpp %GTEST_ROOT%/src/gtest_main.cc %GTEST_ROOT%/src/gtest-all.cc



当然,我们可以写一个bat文件自动执行,如make.bat,内容如下。