首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt Creator: unit-test:有可能有四种构建代码的方式(调试、发布、调试|发布和测试)吗?

Qt Creator: unit-test:有可能有四种构建代码的方式(调试、发布、调试|发布和测试)吗?
EN

Stack Overflow用户
提问于 2013-06-05 20:13:37
回答 1查看 534关注 0票数 0

我正在使用单元测试,并且我设法在Qt-Creator中创建了两个项目:unit-test projectApplication project。分别编译它们,我对这两个项目都很满意。

然后,我设法将这两个项目链接在一起,即:使用unit-test project从我的Application project测试一个类(myClass.cpp)。链接是通过添加以下内容来完成的:

代码语言:javascript
复制
#INCLUDEPATH myApplicationProjectPath 
#SOURCES myApplicationProjectPath/myClass.cpp

unit-test project.pro file,一切都很好,我的单元测试也正常工作。(我现在正在构建lib,而不是添加路径和类)。

与此同时,在Application project.pro file中,我得到了一些类似的东西:

代码语言:javascript
复制
#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选项中添加需要测试的类。

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

EN

回答 1

Stack Overflow用户

发布于 2013-06-06 00:32:26

任何属于CONFIG的东西都可以作为条件句的作用域进行测试(参见:QMake Configuration & Scope)。这意味着你可以为"Test“添加你自己的意思。

例如

下面的代码将在使用CONFIG += unittest将"unittest“添加到配置时添加源代码

代码语言:javascript
复制
unittest {
    SOURCES += my_unittests.cc
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16939688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档