Qt子项目和TDD

时间:2014-09-27 16:30:53

标签: qt unit-testing tdd qt-creator

我正在构建一个由几个组件(包括插件)组成的Qt应用程序。每个子项目包含几个类。 我想使用"普通"我的开发过程中的TDD工作流程 - 即;

  1. 我在模块中编写了一个类的新函数/方法作为测试
  2. 编译该模块的测试(应该失败)
  3. 修改源以更正错误(通过添加func /方法等)
  4. 编写新功能/方法的测试用例
  5. 修改src代码以修复失败的测试
  6. 每个子项目将包含一个src /和test /文件夹,分别包含源文件和单元测试

    这是项目目录结构的样子:

    myapp
    |
    |-myapp.pro
    |
    |--module1/
    |     |-src/
    |     |-test/
    |
    |--module2/
    |     |-src/
    |     |-test/
    |
    .
    .
    |--moduleN/
    |     |-src/
    |     |-test/
    

    如何设置QCreator以便我可以从QCreator GUI构建子项目或其单元测试?

2 个答案:

答案 0 :(得分:0)

您应该在.pro文件中使用subdirs模板。

我相信,您可以从关注link开始(位于链接页面的底部)。

答案 1 :(得分:0)

您可以创建一个subdirs项目并将子项目添加到其.pro文件中:

TEMPLATE = subdirs

CONFIG += ordered

SUBDIRS += \
    module1 \
    module2 \
    ...
    moduleN \
    myapp

您应该首先在列表中引入其他人所依赖的子项目。另请注意,子项目的.pro文件的名称应与其文件夹名称相同。这样就可以检测子项目并在“项目”窗格中列出。

子项目module1module2 ... moduleN可能是其.pro文件中包含TEMPLATE = lib的库,而myapp应该是包含{ .pro文件中的{1}}。

您可以通过将每个子项目链接到子项目来使用它们。这可以通过右键单击子项目并选择TEMPLATE = app然后选择Add Library来完成。从子项目列表中选择一个库时,链接配置会自动添加到.pro中。它会像:

Internal Library