Qt文檔閱讀筆記-Qt單元測試中模擬GUI事件

這裏先提下基本概念

官方的模擬GUI事件,就是調用QTest提供的函數,去模擬用戶鼠標點擊,用戶輸入等效果。從而達到模擬的功能,感覺這個功能非常的好。

如:

QTest::keyClicks()主要是模擬鍵盤。

QTest::keyPress()與QTest::keyRelease()模擬鍵盤按下和釋放

QTest::mouseClick()鼠標左鍵

QTest::mouseDclick()鼠標左鍵雙擊

QTest::mouseMove()鼠標移動

QTest::mousePress()鼠標按下

QTest::mouseRelease()鼠標釋放

 

 

下面是一個實例

當出現錯誤時,程序運行截圖如下:

當沒有錯誤時,程序運行截圖如下:

源碼如下:

test3.pro

QT += widgets testlib
SOURCES = testgui.cpp
INSTALLS += test3

testgui.cpp

#include <QtWidgets>
#include <QtTest>
 
class TestGui: public QObject
{
    Q_OBJECT
 
 private slots:
    void testGui();
 
};
 
void TestGui::testGui()
{
    QLineEdit lineEdit;
  QTest::keyClicks(&lineEdit, "hello world");
    QCOMPARE(lineEdit.text(), QString("hello world"));
}
 
QTEST_MAIN(TestGui)
#include "testgui.moc"

這裏個人感覺這篇博文非常重要,因爲Qt框架提供了很多讓人方便的地方。可能很多朋友覺得這些是雞肋,因爲的確可以用其他的測試方式去做。但是我個人覺得,對一個框架的熟悉或精通程度,不在於你以前敲了多少代碼,這個框架和你以前用過的xx框架多麼相似,而在於,這個框架,能不能寫出花出來。個人感覺這個Qt單元測試,就是一朵花。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章