0
我一直在創建單元測試。我需要學習這個來測試我們的gui對象。到目前爲止,這個網站已經回答了很多問題(以前大部分都被問及過)。但是,我現在處於一個錯誤的地步,我找不到可以幫助我解決問題的鏈接。我得到了「TestGui.o需要的目標TestGui.cpp」沒有規則,停止「。任何人都可以告訴我如何解決這個問題,並讓我的測試編譯?這是我在測試第一次嘗試......qtest:編譯測試時沒有規則使目標錯誤
這是我的測試文件 -
#include <QString>
#include <QObject>
#include <QtTest>
#include <QLineEdit>
#include <QWidget>
#include <QApplication>
class SampleTest : public QObject
{
Q_OBJECT
public:
SampleTest();
private Q_SLOTS:
void initTestCase();
void cleanupTestCase();
void TestGui();
void TestQstring();
};
SampleTest::SampleTest()
{
}
void SampleTest::initTestCase()
{
}
void SampleTest::cleanupTestCase()
{
}
void SampleTest::TestGui()
{
QLineEdit line_edit;
QTest::keyClicks(&line_edit, "hello world");
QCOMPARE(line_edit.text(), QString("hello world"));
}
void SampleTest::TestQstring()
{
QString str = "hello world";
QCOMPARE(str.toUpper(), QString("HELLO wORLD"));
}
QTEST_MAIN(SampleTest)
#include "SampleTest.moc"
我test.pro文件是在這裏 -
#-------------------------------------------------
#
# Project created by QtCreator 2015-09-03T09:46:40
#
#-------------------------------------------------
QT += core widgets gui testlib
TARGET = SampleTest
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
SOURCES += ../sample_project/TestGui.cpp \
SampleTest.cpp
HEADERS += ../sample_project/TestGui.h
FORMS += ../sample_project/TestGui.ui
DEFINES += SRCDIR=\\\"$$PWD/\\\"
INCLUDEPATH += $$PWD/../sample_project
include(../sample_project/sample_project.pri)
這是我的項目.pro文件 -
#-------------------------------------------------
#
# Project created by QtCreator 2015-09-03T09:29:42
#
#-------------------------------------------------
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = sample_project
TEMPLATE = app
SOURCES += main.cpp\
TestGui.cpp \
TestBox.cpp
HEADERS += TestGui.h \
TestBox.h
FORMS += TestGui.ui \
TestBox.ui
我的項目.pri文件HS的源文件和頭爲我的項目 -
SOURCES += TestGui.cpp
HEADRES += TestGui.h
我認爲這意味着TestGui.cpp無法找到,即存在路徑問題。看起來你是從另一個地方跑步? – user2672165
謝謝。我只是解決了路徑問題。上面反映了這一變化。但是,我仍然得到錯誤。我注意到,如果我註釋掉最後包含在我的測試.pri文件中,它將編譯並運行。然而,它並沒有提出我的項目窗口。我試圖調出窗口,並在lineEdit中輸入「hello world」。 – jolema
好吧,我意識到我需要在我的項目.pri文件中做類似的更改。它編譯乾淨,但現在我的問題是我如何得到它在我的項目中運行主?我將在網站上搜索答案。如果你有一些想法,我會很高興聽到他們。再次感謝。 – jolema