将一个单元测试项目添加到现有的Qt Creator项目中

13

我有一个现有的Qt Creator项目,它不是Subdirs项目。现在我想添加一个单元测试项目到它中。当我创建新的单元测试项目时,“将其作为子项目添加到...”选项是禁用的。

我应该怎么做呢?我考虑创建一个全新的Subdirs项目,把我的现有项目添加进去,然后再添加单元测试项目。

这是正确的方法吗?还是有更好的方法?


是的,您需要添加一个上级项目,其中包括您当前的子目录项目。这可能最容易通过命令行完成,我认为Qt Creator没有此类辅助工具(除非在最近的版本中添加了)。您可以使用Qt Creator为您创建一个子目录项目,然后在其下添加虚拟应用程序和测试项目。一旦您看到它的工作原理,就可以手动为您的真实项目执行此操作。 - hyde
2个回答

13

把项目类型更改为子目录项目(即使是 Gui 应用程序)不是问题。这是添加单元测试子项目的唯一方法。

  1. 如上所述,将您的项目设置为子目录项目:

    TEMPLATE = subdirs

    SUBDIRS = gui logic

  2. 选择 文件 > 新建文件或项目 … > 其他项目 > Qt 单元测试

  3. 在向导的最后一页“摘要”中,选择要将其“添加为项目的子项目”的项目

  4. 您的 .pro 文件将更新如下:

    SUBDIRS = gui logic tests

注意:如果您手动重组项目层次结构,请确保子目录的名称与该子目录中的 .pro 文件的名称匹配。

例如:

  • 子目录名称 = test --> pro 文件名称 = test.pro
  • 子目录名称 = src --> pro 文件名称 = src.pro

6
除了这个答案之外:这里有一个GitHub项目,使用单元测试来展示最终项目结构的样子。https://github.com/bruceoutdoors/DrawingApp 。更详细的信息可以在这里找到:https://bruceoutdoors.wordpress.com/2015/05/30/project-structure-for-projects-in-qt-creator-with-unit-tests/amp/ - Martin

0

实际上首先是第三步:“要创建根项目,请选择文件 > 新建文件或项目 > 其他项目 > 子目录项目 > 选择”,然后是第二段,将现有项目添加为子项目,接着将测试项目也添加到根子目录项目中。 - E4z9
确实,这样说听起来更完整。 - misterFad

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接