程序运行截图如下:
控制台:
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函数。