在Visual Studio中测试Qt应用程序-在测试文件中包含项目文件时,Qt文件给出“无法打开源文件”错误

时间:2019-01-11 06:25:22

标签: qt testing visual-studio-2017

我正在尝试为Visual Studio中的Qt应用程序编写测试。我在现有解决方案中添加了一个新的测试项目,该项目具有我要测试的项目,并添加了对上述项目的引用,如here所示。当我尝试运行测试文件时,出现错误,提示一堆Qt和Qt生成的文件(例如QWidget和ui_x.h)(x是占位符)“无法打开源文件“ x””。我使用的是Google Test,但是使用“本地单元测试项目”选项时也会发生相同的问题。

问题图片

enter image description here

Settings.h

#pragma once

#include <string>
#include <QWidget>
#include <QSettings>
#include <QFileDialog>

#include "ui_Settings.h"

extern const std::string MODS_FOLDER_PATH;
extern const std::string  PROFILE_PATH;

class Settings : public QWidget
{
    Q_OBJECT

public:
    Settings(QWidget *parent = Q_NULLPTR, QString testHook = "");
    QString getModsFolderPath();

public slots:
    void browseProfilePath();
    void browseModsPath();
    void openSettingsWidget();

signals:
    void modsFolderPathChanged(const QString &newPath);
    void profilePathChanged();

private:
    Ui::Options ui;
    QString testHook;
    QString fileBrowser(QFileDialog::FileMode fileMode, const std::string  = "");
    bool changeFileSetting(QLineEdit * const settingInput, const std::string setting, const QString &fileName);
    void loadValuesFromSettings();
};

test.cpp

#include "pch.h"
#include "../FileOverwriteManager/Settings.h"

TEST(TestCaseName, TestName) {
  EXPECT_EQ(1, 1);
  EXPECT_TRUE(true);
}

1 个答案:

答案 0 :(得分:0)

根据用户vahancho的建议,我必须在测试项目的属性中的“ C / C ++”下编辑“其他包含目录”。如果仅包含.h文件所在的目录,即C:\Qt\5.10.0\msvc2017_64\include\QtCore的{​​{1}},那么它会像so那样抱怨,因此您还必须包括一个更高的目录,即{{1 }}