【问题标题】:Qt unit test dependency problemQt单元测试依赖问题
【发布时间】:2011-04-06 16:40:48
【问题描述】:

嘿,

我对 Qt 有点陌生,我开始将 UnitTests 添加到我的 Qt 项目中。 Qt 要求我将单元测试放在另一个项目中,所以我做到了。 但是现在我的第一个项目中有依赖的源文件。我使我的“主项目”成为我的“测试项目”的依赖项。 我似乎无法包含“主项目”中的任何“.h”文件。只要我不使用“主项目”中的类,单元测试它们就可以正常运行。

我查看了 Qt 文档,但找不到解决问题的方法。我错过了什么吗?

【问题讨论】:

  • Qt 不要求您的单元测试在另一个项目中。
  • @Bill:我能找到如何向 Qt 创建者添加单元测试的唯一方法是添加另一个项目。然后,您能否解释或发布一个正确教程的链接如何设置它?
  • 对不起,我从来没有使用过 Qt creator,现在我想多了,我确实有一个单独的 .pro 文件用于我的单元测试。 (我将项目与目录混淆了......我的错!)我的标准方法是相对路径。如果我所有的单元测试文件都在一个名为“unitTests”的子目录中,那么我使用#include "../MyHeader.h" 拉入必要的标题。

标签: c++ unit-testing qt


【解决方案1】:

您是否尝试将您的依赖项包含到您的测试项目的 .pro 文件中?

HEADERS += ../MyHeader.h
SOURCES += ../MyHeader.cpp \
      tst_myUnitTestName.cpp

【讨论】:

    【解决方案2】:

    您可以尝试在包含(在 testProject.pro 文件中)中添加主程序的路径

    INCLUDEPATH += .. .

    (或者只是添加项目本身的路径)

    如果您这样做,则需要将包含(在 .cpp 文件中)从 "" 更改为

    #include

    如果您正在使用 QtCreator,将头文件添加到 .pro 文件将主要允许您轻松访问文件本身(如果找不到文件,qmake 会抱怨),但它不会解决每个 .cpp 文件中的实际依赖关系。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-03
      • 1970-01-01
      • 1970-01-01
      • 2021-05-27
      • 2021-06-19
      • 2012-02-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多