我正在尝试为Visual Studio中的Qt应用程序编写测试。我在现有解决方案中添加了一个新的测试项目,该项目具有我要测试的项目,并添加了对上述项目的引用,如here所示。当我尝试运行测试文件时,出现错误,提示一堆Qt和Qt生成的文件(例如QWidget和ui_x.h)(x是占位符)“无法打开源文件“ x””。我使用的是Google Test,但是使用“本地单元测试项目”选项时也会发生相同的问题。
问题图片
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);
}
答案 0 :(得分:0)
根据用户vahancho的建议,我必须在测试项目的属性中的“ C / C ++”下编辑“其他包含目录”。如果仅包含.h文件所在的目录,即C:\Qt\5.10.0\msvc2017_64\include\QtCore
的{{1}},那么它会像so那样抱怨,因此您还必须包括一个更高的目录,即{{1 }}