我正在使用单元测试,并且我设法在Qt-Creator中创建了两个项目:unit-test project和Application project。分别编译它们,我对这两个项目都很满意。
然后,我设法将这两个项目链接在一起,即:使用unit-test project从我的Application project测试一个类(myClass.cpp)。链接是通过添加以下内容来完成的:
#INCLUDEPATH myApplicationProjectPath
#SOURCES myApplicationProjectPath/myClass.cppunit-test project的.pro file,一切都很好,我的单元测试也正常工作。(我现在正在构建lib,而不是添加路径和类)。
与此同时,在Application project的.pro file中,我得到了一些类似的东西:
#CONFIG(debug, debug|release){
message(Debug bulid)
}这是一个条件语句,用于说明是在Debug模式还是在debug|Relase模式下编译代码。
考虑that (根据设置的配置,qmake最多处理pro file三次。通常它会做三次。一次用于调试,一次用于发布,最后一次用于debug_and_release。),如果我尝试在Application project的.pro file中使用#CONFIG来添加Test mode会怎么样呢?因此,当我尝试构建我的项目时,我将可以选择是在测试、调试还是发布模式下构建。
这样做可以避免为单元测试构建单独的项目,只需在#SOURCES部分的test mode选项中添加需要测试的类。
那么,有可能有四种构建代码的方法(调试、发布、调试|发布和测试)吗?
发布于 2013-06-06 00:32:26
任何属于CONFIG的东西都可以作为条件句的作用域进行测试(参见:QMake Configuration & Scope)。这意味着你可以为"Test“添加你自己的意思。
例如
下面的代码将在使用CONFIG += unittest将"unittest“添加到配置时添加源代码
unittest {
SOURCES += my_unittests.cc
}https://stackoverflow.com/questions/16939688
复制相似问题