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