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单元测试,就是一朵花。

 

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