Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Qt单元测试依赖性问题_C++_Unit Testing_Qt - Fatal编程技术网

C++ Qt单元测试依赖性问题

C++ Qt单元测试依赖性问题,c++,unit-testing,qt,C++,Unit Testing,Qt,嘿 我对Qt有点陌生,我开始在我的Qt项目中添加单元测试。Qt要求我将我的单元测试放在另一个项目中,所以我这样做了。 但是现在我的第一个项目中有了依赖的源文件。我使我的“主项目”成为我的“测试项目”的依赖项。 我似乎无法包含“主项目”中的任何“.h”文件。只要我不使用“主项目”中的类,单元测试就可以正常运行 我查阅了Qt文档,但找不到解决问题的方法。我遗漏了什么吗?您是否尝试将依赖项包含到测试项目的.pro文件中 HEADERS += ../MyHeader.h SOURCES += ../My

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


我查阅了Qt文档,但找不到解决问题的方法。我遗漏了什么吗?

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

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

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

INCLUDEPATH+=

(或者只需将路径添加到项目本身)

如果执行此操作,则需要将您的包含(在.cpp文件中)从“”更改为“”

#包括


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

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