2015-09-04 105 views
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 
+0

我認爲這意味着TestGui.cpp無法找到,即存在路徑問題。看起來你是從另一個地方跑步? – user2672165

+0

謝謝。我只是解決了路徑問題。上面反映了這一變化。但是,我仍然得到錯誤。我注意到,如果我註釋掉最後包含在我的測試.pri文件中,它將編譯並運行。然而,它並沒有提出我的項目窗口。我試圖調出窗口,並在lineEdit中輸入「hello world」。 – jolema

+0

好吧,我意識到我需要在我的項目.pri文件中做類似的更改。它編譯乾淨,但現在我的問題是我如何得到它在我的項目中運行主?我將在網站上搜索答案。如果你有一些想法,我會很高興聽到他們。再次感謝。 – jolema

回答

0

嘗試將相應的類名重命名爲文件名。在你的情況,SampleTest => TestGui

QtCreator試圖找到適當的類定義。如果沒有,它會忽略在項目Makefile中創建目標「.moc:」。

相關問題