Qt Creator:单元测试:是否有可能有四种构建代码的方法(调试,发布,调试|发布和测试)

时间:2013-06-05 12:13:37

标签: c++ unit-testing qt-creator config qmake

我正在使用单元测试,我设法在Qt-Creator中创建了两个项目:unit-test projectApplication 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模式下编译代码。

考虑thatApplication project处理#CONFIG(debug, debug|release){ message(Debug bulid) } 最多三次,具体取决于配置的设置。通常会执行三次。一次调试,一次对于发布和最后一个用于debug_and_release。),如果我尝试在qmake的{​​{1}}中使用pro file添加#CONFIG,该怎么办?所以,当我尝试构建我的项目时,我可以选择是否构建测试,调试或发布模式。

这样做可以避免为单元测试构建单独的项目,只需在测试模式选项中的.pro file部分添加我需要测试的类。

那么,是否有可能有四种构建代码的方法(调试,发布,调试|发布和测试)?

1 个答案:

答案 0 :(得分:2)

CONFIG中的任何内容都可以作为条件的范围进行测试(请参阅:QMake Configuration & Scope)。这意味着您可以为“测试”添加自己的含义。

例如

使用CONFIG += unittest

将“unittest”添加到CONFIG时,以下内容将添加来源
unittest {
    SOURCES += my_unittests.cc
}