Тестирование приложения Qt в Visual Studio - при выдаче файлов Qt ошибка «невозможно открыть исходный файл» при включении файлов проекта в тестовый файл - PullRequest
0 голосов
/ 11 января 2019

Я пытаюсь написать тесты для приложения Qt в visual studio. Я добавил новый тестовый проект в существующее решение, в котором есть проект, который я хочу протестировать, и добавил ссылку на указанный проект, как показано здесь . Когда я пытаюсь запустить тестовый файл, я получаю сообщение об ошибке «я не могу открыть исходный файл« x »» для нескольких сгенерированных Qt и Qt файлов, таких как QWidget и «ui_x.h» (x - это заполнитель). Я использую Google Test, но та же проблема возникает при использовании опции «Native Unit Test Project».

Образ проблемы

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 голосов
/ 11 января 2019

Мне пришлось отредактировать «Дополнительные каталоги включения» в «C / C ++» в свойствах тестового проекта, как предложено пользователем vahancho. Если вы включаете только каталоги, в которых находятся файлы .h, то есть C:\Qt\5.10.0\msvc2017_64\include\QtCore для qsettings.h, то он жалуется как , так что , поэтому вам также нужно включить один каталог выше, то есть C:\Qt\5.10.0\msvc2017_64\include\

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...