我正在使用单元测试,我设法在Qt-Creator中创建了两个项目:unit-test project
和Application project
。分别编译它们,我对这两个项目都非常满意。
然后,我设法将两个项目链接在一起,即:使用myClass.cpp
从我的Application project
测试一个班级(unit-test project
)。链接是通过添加:
#INCLUDEPATH myApplicationProjectPath
#SOURCES myApplicationProjectPath/myClass.cpp
到.pro file
的{{1}},一切正常,我的单元测试正常运行。 (我现在正在构建一个lib而不是添加路径和类)。
同时,在unit-test project
的{{1}}中,我有类似的内容:
.pro file
这是一个条件语句,用于在Debug或Debug | Relase模式下编译代码。
考虑that(Application project
处理#CONFIG(debug, debug|release){
message(Debug bulid)
}
最多三次,具体取决于配置的设置。通常会执行三次。一次调试,一次对于发布和最后一个用于debug_and_release。),如果我尝试在qmake
的{{1}}中使用pro file
添加#CONFIG
,该怎么办?所以,当我尝试构建我的项目时,我可以选择是否构建测试,调试或发布模式。
这样做可以避免为单元测试构建单独的项目,只需在测试模式选项中的.pro file
部分添加我需要测试的类。
那么,是否有可能有四种构建代码的方法(调试,发布,调试|发布和测试)?
答案 0 :(得分:2)
CONFIG
中的任何内容都可以作为条件的范围进行测试(请参阅:QMake Configuration & Scope)。这意味着您可以为“测试”添加自己的含义。
例如
使用CONFIG += unittest
unittest {
SOURCES += my_unittests.cc
}