我在QT Creator中有项目(.pro文件,而不是CMake)。现在,我想将测试(gtest)添加为另一个构建配置,因此我添加了构建配置“ debug_tests”(项目->添加->调试名称为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
运行为库/应用程序创建的整个测试套件。