程序運行截圖如下:
控制檯:
QtCreator:
源碼如下:
test.pro
QT += widgets testlib
HEADERS = head.h
SOURCES = source.cpp
installs += test
head.h
#ifndef HEAD_H
#define HEAD_H
#include <QtTest>
class TestQString: public QObject{
Q_OBJECT
private slots:
void toUpper();
};
#endif //HEAD_H
source.cpp
#include "head.h"
void TestQString::toUpper(){
QString str = "Hello";
QVERIFY(str.toUpper() == "HELLO");
}
QTEST_MAIN(TestQString)
//#include "head.moc"
這裏有幾點要注意的:
QVERIFY()宏是如果爲真那麼這個函數還是會繼續往下執行,否則將會打印錯誤到test日誌中,並且這個函數將會停止運行。
QCOMPARE()宏將會輸出更爲詳細的test日誌如下
void TestQString::toUpper(){
QString str = “Hello”;
QCOMPARER(str.toUpper(), QString(“HELLO”));
}
在source.cpp最後需要添加
QTEST_MAIN(TestQString)
這個宏擴展了main函數。