我开始使用GoogleTest。看来,它需要一个主文件运行测试:如何避免使用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的经验,否则Makefiles往往会为更大的项目而烦恼。 – smerlin
我倾向于为每个项目/库设置一个测试子目录,并为每个测试源文件生成一个谷歌测试二进制文件。这样,即使一个测试用例导致应用程序崩溃,所有其他测试和测试用例仍会运行。 (我使用'CMake'作为构建工具,并使用'ctest'来运行所有测试) – smerlin
我一直喜欢将测试的想法放在单独的目录中。 –