• Google Test入门教程:从下载到运行


    • 本文以VS2019为例,自己的工程使用Debug x64,多线程调试DLL(/MDd),用户可以根据自己需求更改配置,只要所有配置前后统一即可。
    • 第一步:clone Google Test源码
      • 打开https://github.com/google/googletest,通过git克隆或者下载ZIP的方式得到源码。
    • 第二步:生成Google Test的lib
      • 在VS2019中,导入.\googletest\msvc\2010\gtest-md.sln
      • 修改vs中的解决方案配置,将其修改为和你要测试的工程配置相同,这里以“Debug x64”为例
        • vs中,Debug和Release生成的lib库是不同的,分别为gtestd.lib和gtest.lib,两个是不同的,不可混用。
      • 在解决方案资源管理器中修改工程的属性
        • 确保配置为Debug x64。
        • 修改配置属性-C/C++-代码生成-运行库,将其修改为和你要测试的工程配置相同,这里以“多线程调试DLL(/MDd)”为例

      • 编译,生成
        • debug、release两个模式需要分别设置、编译生成。
        • 编译后,在msvc/gtest/下有debug、release两个文件夹。
        • 共生成4个文件
          • googletest\msvc\2010\gtest\x64-Debug - Debug方案下的二进制文件:gtestd.lib、gtest_maind.lib(注意主文件名的d后缀)
          • googletest\msvc\2010\gtest\x64-Release - Release方案下的二进制文件:gtest.lib、gtest_main.lib
    • 第三步:单元测试
      • 在要测试的工程中,添加-新建项-Google Test
      • 为要测试的工程添加lib。
        • 首先确保解决方案配置和工程配置中都是Debug x64。
        • 配置属性-C/C++-代码生成-运行库是多线程调试DLL(/MDd)。
        • 配置属性-C/C++-常规”,在“附加包含目录”中添加“xxx\googletest\include;”(xxx为源码的路径)。

        • 配置属性-链接器-输入-附加依赖项,添加从googletest生成的两个lib:gtest_maind.lib和gtestd.lib。

    • 第四步:可以写测试了,写在你新建的Google Test.cpp里,作为启动项运行即可
    #include "gtest/gtest.h"
    #include "TestFunction.h" 
    
    //MyAdd(int a, int b) { return a+b; }
    
    TEST(MyAdd, 4plus4) 
    {
        EXPECT_EQ(MyAdd(4,4), 8);
        EXPECT_TRUE(true);
    }//通过
    
    TEST(MyAdd, 5plus5)
    {
        EXPECT_EQ(MyAdd(5, 5), 8);
        EXPECT_TRUE(true);
    }//不通过
    
    int main(int argc, char* argv[])
    {
        testing::InitGoogleTest(&argc, argv);//将命令行参数传递给gtest
        return RUN_ALL_TESTS(); //RUN_ALL_TESTS()运行所有测试案例
        system("pause");
    }
    •  运行结果
    --------------------------------- E la nave va
  • 相关阅读:
    通过windows server使用frp软件实现内网穿透
    【Java】使用线程解决生产者与消费者问题
    WindowsServers2019摄像头不可用的解决方案
    【CSS】复杂三栏布局
    【Java】TCP发送与接收数据
    【Java】UDP发送数据与接收数据
    【CSS】三栏布局
    【CSS】实现两栏布局
    JS获取url参数
    Centos 安装Tcl
  • 原文地址:https://www.cnblogs.com/silenzio/p/10838202.html
Copyright © 2020-2023  润新知