Mac下CLion配置Google GTest小结
1. 下载GTest源码:
git clone https://github.com/google/googletest.git
下载下来的google gtest源码目录结构如下,里面包含了很多东西,这里我们只是想利用gtest对自己的代码进行单元测试,因此只需要关注红框所求的文件夹即可,其他的暂时不需要关注
2. 使用CLion新建一下C++项目,把gtest引入到项目中,将上面googletest目录放在external下面了,这个目录随意,看个人喜好了。
3. 完成上面的操作后,打开项目的CMakeList.txt,添加gtest相关的配置,这里主要完成3个动作
(1)设置GOOGLETEST_VERSION变量,这个变量,其实是在googletest-master目录下的CMakeLists.txt中设置的,在googlegtest目录下的CMakeLists.txt中使用,如果我们不在项目的CMaksLists.txt中设置这个变量,则gtest的编译会失败,这点非常重要。
(2)添加googletest目录到项目中,这个很简单
(3)添加target link,这个示例中,我新了一个demotest.cpp,里面用来放置单元测试用例相关的代码,将其编译为二进制可执行文件,来对正式项目代码进行测试,因为它依赖于gtest_main,因此这里必须把它们link起来,否则,test_main的编译会失败。
然后写一个最简单的示例:
#include <iostream> #include "gtest/gtest.h" #include "demotest.h" using namespace ::testing; class GTestDemo : public Test { public: GTestDemo() : Test() { } ~GTestDemo() override { } void SetUp() override { Test::SetUp(); std::cout << "I am setup" << std::endl; } void TearDown() override { Test::TearDown(); std::cout << "I am teardown" << std::endl; } }; TEST_F(GTestDemo, tc_example_01) { std::cout << "GTestDemo" << std::endl; }
运行结果如下: