• win10搭建gtest测试环境+vs2019


    首先是下载gtest,这个我已经放在了博客上方资源绑定处,这个适用于win10+vs版本,关于liunx版本的不能用这个。

    或者百度网盘链接:

    链接:https://pan.baidu.com/s/15m62KAJ29vNe1mrmAcmehA 
    提取码:vfxz

    下载下来解压到文件夹,再在文件夹里面新建一个build文件夹,如下:

    再安装cmake,可以先检查一下是否安装了cmake,打开命令窗口,输入cmake -version:

    我这里是已经安装好了,所以有显示版本号,如果没有可以下载:

    链接:https://pan.baidu.com/s/1wsO51P4EIQtVN5_kLFbRtA 
    提取码:mc79

    然后双击就对了,我这里已经安装好了,无法提供截图,注意一点就是在让选择是否建立系统环境变量(path)的时候,记得勾上第二个建立系统环境变量!

    下载好之后,记得检验一下是否安装成功,如果在普通用户下显示没有,建议用管理员身份打开命令窗口,再次尝试。

    之后命令窗口进入创建的build文件夹路径里面执行cmake ../,回车:

    我这里没图了,截一张大佬的图:

    安装好会发现build文件夹里面生成了工程文件:

    再用vs打开ALL_BUILD.vcxproj文件:

    右键点击生成:

    就会生成Release的静态库,再切换到Debug模式再跑一次:

    查看build->lib文件夹下是否都有库文件了:

    本人后面的操作都是针对release版本X64 希望大家与我保持一致,不然可能会有库的错误,建议第一遍通了再试其他模式下。

    首先建立一个vs工程文件,将gtest项目里面的include文件夹下面的头文件和lib->release下面的库文件拷贝到新工程文件下面(当然也可以选择不拷贝,要是后续有报错再拷贝也可以)。

    再再工程文件里面的源文件里新建一个cpp文件,我这里建立的1.cpp

    将如下测试代码粘贴进去,这是一个简单的测试用例,为了验证环境是否搭建成功:

    1. #include
    2. #include "gtest/gtest.h"
    3. using namespace std;
    4. int add(int a, int b) {
    5. return a + b;
    6. }
    7. //这里TEST中的两个参数是自定义的,主要是为了标记,可以自定义
    8. //一个TEST就是一个测试用例,一个测试案例中可以有多个断言
    9. TEST(lzb, test_01) {
    10. EXPECT_EQ(4, add(2, 2));
    11. EXPECT_GE(5, add(2, 2));
    12. }
    13. TEST(lzb, test_02) {
    14. EXPECT_LE(3, add(2, 2));
    15. }
    16. TEST(ly, test_01) {
    17. EXPECT_GT(add(2, 2), 1);
    18. }
    19. int main() {
    20. testing::InitGoogleTest(); //初始化,负责注册需要运行的所有测试用例
    21. RUN_ALL_TESTS();
    22. system("pause");
    23. return 0; //宏RUN_ALL_TEST负责执行所有测试,如果全部成功则返回0,否则返回1。
    24. }

    此时检查一下自己工程上方是不是Release、x64:

    接下来选择项目->属性:

    对包含文件和库文件进行编辑,位置分别是gtest下面的include路径和lib路径,也就是上方复制到工程里面的两个文件夹路径,以下所有配置的平台都是Release、x64:

    再将库文件加入进来,打开链接器->输入->附加依赖库->编辑:

    1. gmock.lib
    2. gmock_main.lib
    3. gtest.lib
    4. gtest_main.lib

    此时返回项目,应该就不会有报错了,运行即可。如果想用Debug模式,配置过程是一样的。

    简单的环境搭建和小例子就跑通啦,有什么问题欢迎评论区留言!

  • 相关阅读:
    详细了解关于sentinel的实际应用
    基于生成对抗网络的动漫人脸生成实例
    简单网页制作代码 HTML+CSS+JavaScript香港美食(8页)
    【强化学习】深度Q网络(DQN)求解倒立摆问题 + Python代码实战
    CMake入门实例、宏变量说明
    旅游APP外包开发注意事项
    vuex的五大辅助函数使用技巧
    axios
    [Js进阶]axios + blob文件下载完整开发流程
    [附源码]计算机毕业设计springboot本地助农产品销售系统
  • 原文地址:https://blog.csdn.net/KUSPCE/article/details/133814702