[英]How to use Qt Test module to test my own application?
我有一個簡單的控制台應用程序,如下所示,我想學習如何使用 Qt Test 來測試其功能。 老實說,我正在嘗試學習如何使用 Qt 測試模塊。
我的應用程序
QT -= gui
CONFIG += c++11 console
CONFIG -= app_bundle
DEFINES += QT_DEPRECATED_WARNINGS
SOURCES += \
main.cpp \
pen.cpp \
HEADERS += \
pen.h
主程序
#include <QCoreApplication>
#include <QDebug>
#include "pen.h"
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
Pen* p = new Pen();
p->setValue(5);
qDebug() << "Value of the pen is" << p->getValue();
return a.exec();
}
筆
#ifndef PEN_H
#define PEN_H
class Pen
{
public:
Pen();
void setValue(int value);
int getValue();
private:
int value;
};
#endif // PEN_H
cpp文件
#include "pen.h"
Pen::Pen()
{
value = 0;
}
void Pen::setValue(int value)
{
this->value = value;
}
int Pen::getValue()
{
return value;
}
簡單地說,它只是一個簡單的應用程序。
我瀏覽了有關 Qt 測試模塊的 Qt 文檔,並找到了以下示例代碼來運行測試。 但它測試 QString,Qt 本身的一個類。
#include <QtTest/QtTest>
class TestQString: public QObject
{
Q_OBJECT
private slots:
void toUpper();
};
void TestQString::toUpper()
{
QString str = "Hello";
QCOMPARE(str.toUpper(), QString("HELLO"));
}
QTEST_MAIN(TestQString)
#include "testqstring.moc"
我的問題是我應該如何使用 Qt Test 來測試我自己的應用程序。
我知道我可以在 QtCreator 中添加一個測試模塊作為其他項目 - > Qt 單元測試,但我不知道如何將它與我自己的應用程序鏈接。
提前致謝。
首先,創建一個 Qt 測試應用程序(TestPen)。 由於您要測試 Pen 類的功能,您應該將所需的頭文件和源文件添加到測試項目的 .pro 文件(TestPen.pro)中,例如:
SOURCES += ../pen.cpp
HEADERS += ../pen.h
然后你可以在你的 tst_testpen.cpp 中包含 pen.h 並測試你的 Pen 類的功能,如 TestQString 示例中所示。
對於帶有測試的正確項目結構,您可以參考此鏈接中接受的答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.