Visual Studio 中使用 Google Test 进行单元测试
由于我在 visual studio 中建立的是控制台应用程序,它实际上是一个。,我们需要像导入其他任何第三方库一样将。程序,这个时候项目目录下不会有。项目的依赖库目录中。
首先创造一个 Google Test 项目,这个项目需要引用被测试的项目,如下图:


由于我在 visual studio 中建立的是控制台应用程序,它实际上是一个 .exe 程序,这个时候项目目录下不会有 .dll 或者 .lib ,而是有 .obj ,我们需要像导入其他任何第三方库一样将 .obj 添加到 google test 项目的依赖库目录中。


我们在控制台项目中编写了一个 thread 类,此时会生成一个 thread.obj 还有整个项目的 yPlayerServer.obj,这个时候一定要注意,不能将 yPlayerServer.obj 调加到附加依赖库中,因为 我们在主程序中定义了 main 函数,而在 google test 中也定义了main 函数,这会造成 main 函数的重定义。
int main(int argc, char** argv) {
::testing::InitGoogleTest(&argc, argv); // 初始化 Google Test
return RUN_ALL_TESTS(); // 运行所有测试
}

由于我们的 therad类是一个模板类,那么类的实现也一定要写在头文件中,包括内联函数也是一样。
不然的话,编译后, google test 会报错找不到定义。

最后程序完美运行:
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)