搭建 gtest + visual studio C++测试环境

1、下载gtest:http://code.google.com/p/googletest/

2、编译gtest

    解压gtest后,打开msvc目录下的sln文件(可能需要转换版本),然后分别在debug和release模式下直接编译。编译完成后会在/msvc/gtest/debug和/msvc/gtest/relase目录下分别生成gtesd.lib和gtest.lib两个静态库文件。

3、新建一个测试工程

    新建一个测试工程,如XXX_test,然后把gtest的头文件拷贝到XXX_test工程目录下,这里拷贝到 /XXX_test/ext/include/目录下,再把gtestd.lib和gtest.lib拷贝到XXX_test工程目录下,这里分别拷贝到 /XXX_test/ext/libs/debug/和/XXX_tes/ext/libs/release目录下。

    接下来,设置XXX_test的外部头文件路径,“XXX_test属性 -> 配置属性 -> C/C++ -> 常规” 中的"附加包含目录"中添加路径:“./ext/include/”;

    最后设置XXX_test依赖的外部库, 以Debug模式为例: "XXX_test属性 -> 属性配置 -> 连接器 -> 常规" 中的"附加库目录"中添加路径:"./ext/libs/debug/",然后在“XXX_test属性 -> 配置属性 -> 连接器 -> 输入”中的附加依赖项中添加 gtestd.lib。

4、新建main.cpp

    新建一个包含main函数的cpp文件,如main.cpp,可填写如下代码:

#include 

#include "gtest/gtest.h"

int main(int argc, char **argv)
{
  std::cout << "Running main() from gtest_main.cc\n";

  testing::InitGoogleTest(&argc, argv);
  return RUN_ALL_TESTS();
}

5、编译

    这个时候就可以编译生成这个测试项目了。但是会发现遇到error lnk2005的错误,是由于多线程库设置的问题导致的,这里我们的工程是一个控制台应用程序,所以在"XXX_test属性 -> 配置属性 -> C/C++ -> 代码生成"的运行库栏中,选择 /MTd(debug模式下)。具体的解决办法可参见http://code.google.com/p/googletest/issues/detail?id=29

你可能感兴趣的:(C++)