【发布时间】:2016-02-27 03:29:39
【问题描述】:
我开始使用 GoogleTest。似乎它需要一个主文件来运行测试:
Separate test cases across multiple files in google test
但目前在我的演示应用程序中,我已经有一个主文件:
src/
-> MyType.h
-> main.cpp
-> Makefile
这最终将成为我的“生产”应用程序。我不想用 gtest 包含、宏等来弄乱它。
我是否应该在另一个文件夹中创建另一个 main.cpp 文件,例如:test/,它将包含所有特定的 gtest 配置,所以我最终会得到:
src/
-> MyType.h
-> main.cpp
-> Makefile // Makefile for producing production code/binaries
Test/
-> MyTypeTest.h // Unittest for MyType
-> main.cpp // The "Test runner"
-> Makefile // Makefile for producing test executable
编辑:
根据 cmake 找到这个:
http://www.kaizou.org/2014/11/gtest-cmake/
这似乎正是我想要的。
【问题讨论】:
-
您可能希望在项目变大之前切换到不同的构建系统。对于较大的项目,Makefile 往往会变得非常复杂,除非您已经拥有丰富的 Makefile 管理经验。
-
我倾向于为每个项目/库设置一个测试子目录,并为每个测试源文件生成一个谷歌测试二进制文件。这样,即使一个测试用例导致应用程序崩溃,所有其他测试和测试用例仍将运行。 (我使用
CMake作为构建工具并使用ctest运行所有测试) -
我一直很喜欢将测试放在单独的目录中的想法。
标签: c++ makefile googletest