我在QT Creator中有一个项目(作为.pro文件,而不是CMake(。现在我想添加测试(gtest(作为另一个构建配置,所以我添加了构建配置"debug_tests"(Projects->add->Debugwithname-debug _tests(。现在,我想为"debug_tests"添加特定的主文件,并在选择构建配置时从构建中排除我的普通主文件。所以我尝试过:
test_debug:{
message("Running tests:")
SOURCES +=
tests/MultiCellArticleModelTests.cpp
tests/main_tests.cpp
LIBS +=
-lgtest
}
但它不起作用,当我喜欢的时候它起作用:
!debug_and_release:{
message("Running tests:")
SOURCES +=
tests/MultiCellArticleModelTests.cpp
tests/main_tests.cpp
LIBS +=
-lgtest
}
但如果我想添加更多的配置,这不是一个好的解决方案。
我看到的另一个解决方案是将定义添加到编译中,并在代码中包含ifdef
。
通常,测试在它们自己的子项目中,而不是主源代码树中某个范围的一部分。
这允许您将它们与主代码干净地分离,并且可以轻松地运行它们。您甚至可以调用make check
来运行您为库/应用程序创建的整个测试套件。