目录
A:方便快捷安装GoogleTest
1.打开你需要进行单元测试的项目,右键项目
2.选择管理NuGet程序包(Manage Nuget Packages)
3.在管理器界面中,选择浏览(browse) 搜索Google Test,找到后点击安装(install)
B:配置Lib路径与生成命令行
Lib 路径:
$(SolutionDir)\packages\googletest.1.8.3\build\native\lib\$(PlatformTarget)\v141\$(Configuration)\
里面有宏,理论上会通用所有人,可根据自己当前情况修改
b:使用命令行,复制不同目录下,对应版本的DLL到工作目录,并删除此前有版本差异的DLL
工作目录默认为
$(ProjectDir)
生成前事件
del "$(ProjectDir)googletest_v141.dll"
生成后事件
xcopy /y /d "$(SolutionDir)packages\googletest.redist.1.8.3\build\native\bin\$(PlatformTarget)\v141\$(Configuration)\googletest_v141.dll""$(ProjectDir)"
里面有宏,理论上会通用所有人,可根据自己当前情况修改
C:Google Test
GTest Doc: https://google.github.io/googletest/
例 // 按照上面进行配置,该代码可以直接运行(C++20)
#include<iostream>#defineGTEST_LANG_CXX111#pragmacomment(lib,"googletest_v141.lib")#include"gtest/gtest.h"autoAdd(auto a,auto b)->decltype(a + b){return a + b;}TEST(AddTest, Float){EXPECT_EQ(Add(1.f,2.f),3.f);EXPECT_EQ(Add(3.f,2.f),5.f);}TEST(AddTest, Int){EXPECT_EQ(Add(1,2),3);EXPECT_EQ(Add(3,2),5);}intmain(int argc,char** argv){
testing::InitGoogleTest(&argc, argv);
std::cout <<"Hello,World!"<< std::endl;returnRUN_ALL_TESTS();}
D:可能遭遇的问题
Nuget管理器无法搜索到Google Test
原因:Nuget包源仅有本地目录
**解决方案:选项->Nuget包管理器->包源->添加->
https://api.nuget.org/v3/index.json
或
https://nuget.cdn.azure.cn/v3/index.json
两者同时添加也可以**
设置完毕后,重新打开Nuget管理器,将包源调整为全部或非本地源
Google Test 文件生成失败
原因:Google Test 对编译器的C++标准仅支持抽象检测,有几率无法确定当前编译器是否支持C++11
**解决方案:#include “gtest.h” 前加上
#define GTEST_LANG_CXX11 1
**
应用程序错误-无法正常启动,请单击"确定"关闭应用程序
原因:没有成功清理,复制相应版本DLL
解决方法:重新生成 或者手动到工作目录中删除 googletest_v141.dll
版权归原作者 八宝咸鱼 所有, 如有侵权,请联系我们删除。