| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> QTest 命名空间 -> 正文阅读 |
|
[C++知识库]QTest 命名空间 |
一、描述QTest 命名空间包含与 Qt 单元测试相关的所有函数和声明。 二、类型成员1、enum QTest::KeyAction:此枚举描述了按键的可能操作。
2、enum QTest::MouseAction:此枚举描述了鼠标的可能操作。
3、enum QTest::TestFailMode:此枚举描述了检查到错误后的处理模式,例如通过 QVERIFY() 或 QCOMPARE() 宏,这是已知的失败。
三、部分成员函数1、template <typename T> void addColumn(const char *name, T *dummy = 0)
2、QTestData & addRow(const char *format, ...)
??????QTestData & newRow(const char *dataTag)
3、const char * currentAppName()
4、const char * currentDataTag()
5、bool?currentTestFailed()
6、const char * currentTestFunction()
7、void failOnWarning(const QRegularExpression &messagePattern) ??????void failOnWarning(const char *message)
8、void ignoreMessage(QtMsgType type, const char *message) ??????void ignoreMessage(QtMsgType type, const QRegularExpression &messagePattern)
9、void keyClick(QWidget *widget, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1) ??????void keyClick(QWindow *window, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1)
上面的第一个示例模拟了在没有任何键盘修饰符且没有延迟的情况下单击 myWidget 上的退出键。 第二个示例模拟在测试延迟 200 毫秒后单击 myWidget 上的 shift-escape。
void keyClick(QWindow *window, char key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1) void keyClick(QWidget *widget, char key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1)
10、void keyClicks(QWidget *widget, const QString &sequence, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1)
11、void keyEvent(QTest::KeyAction action, QWidget *widget, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1) ????????void keyEvent(QTest::KeyAction action, QWindow *window, char ascii, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1) ????????void keyEvent(QTest::KeyAction action, QWindow *window, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1) ????????void keyEvent(QTest::KeyAction action, QWidget *widget, char ascii, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1)
12、void keyPress(QWidget *widget, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1) ????????void keyPress(QWindow *window, char key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1) ????????void keyPress(QWindow *window, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1) ????????void keyPress(QWidget *widget, char key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1)
13、void keyRelease(QWidget *widget, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1) ????????void keyRelease(QWindow *window, char key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1) ????????void keyRelease(QWindow *window, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1) ????????void keyRelease(QWidget *widget, char key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1)
14、void keySequence(QWidget *widget, const QKeySequence &keySequence) ????????void keySequence(QWindow *window, const QKeySequence &keySequence)
15、void mouseClick(QWidget *widget, Qt::MouseButton button, Qt::KeyboardModifiers modifier = Qt::KeyboardModifiers(), QPoint pos = QPoint(), int delay = -1) ????????void mouseClick(QWindow *window, Qt::MouseButton button, Qt::KeyboardModifiers stateKey = Qt::KeyboardModifiers(), QPoint pos = QPoint(), int delay = -1)
16、void mouseDClick(QWidget *widget, Qt::MouseButton button, Qt::KeyboardModifiers modifier = Qt::KeyboardModifiers(), QPoint pos = QPoint(), int delay = -1) ????????void mouseDClick(QWindow *window, Qt::MouseButton button, Qt::KeyboardModifiers stateKey = Qt::KeyboardModifiers(), QPoint pos = QPoint(), int delay = -1)
17、void mouseMove(QWidget *widget, QPoint pos = QPoint(), int delay = -1) ????????void mouseMove(QWindow *window, QPoint pos = QPoint(), int delay = -1)
18、void mousePress(QWidget *widget, Qt::MouseButton button, Qt::KeyboardModifiers modifier = Qt::KeyboardModifiers(), QPoint pos = QPoint(), int delay = -1) ????????void mousePress(QWindow *window, Qt::MouseButton button, Qt::KeyboardModifiers stateKey = Qt::KeyboardModifiers(), QPoint pos = QPoint(), int delay = -1)
19、void mouseRelease(QWidget *widget, Qt::MouseButton button, Qt::KeyboardModifiers modifier = Qt::KeyboardModifiers(), QPoint pos = QPoint(), int delay = -1) ????????void mouseRelease(QWindow *window, Qt::MouseButton button, Qt::KeyboardModifiers stateKey = Qt::KeyboardModifiers(), QPoint pos = QPoint(), int delay = -1)
20、int qExec(QObject *testObject, int argc = 0, char **argv = nullptr)
????????int qExec(QObject *testObject, const QStringList &arguments)
?21、QSharedPointer<QTemporaryDir> qExtractTestData(const QString &dirName)
22、void qSleep(int ms)
23、void qWait(int ms)
24、template <typename Functor> bool qWaitFor(Functor predicate, int timeout = 5000)
上面的代码将等待对象准备就绪,最多三秒钟。 25、bool qWaitForWindowActive(QWindow *window, int timeout = 5000) ????????bool qWaitForWindowActive(QWidget *widget, int timeout = 5000)
26、bool qWaitForWindowExposed(QWindow *window, int timeout = 5000) ????????bool qWaitForWindowExposed(QWidget *widget, int timeout = 5000)
27、char * toHexRepresentation(const char *ba, int length)
28、template <typename T> char * toString(const T &value) 返回值的文本表示。QCOMPARE() 使用此函数在测试失败的情况下输出详细信息。 可以将此函数的特化或重载添加到您的测试中以启用详细输出。 应该在类型的命名空间中提供一个 toString() 函数,而不是专门化这个模板。 注意:toString() 的调用者必须使用 delete[] 删除返回的数据。自定义的实现应该返回一个使用 new[] 或 qstrdup() 创建的字符串。 最简单的方法是创建一个 QByteArray 或 QString 并在其上调用 QTest::toString():
此函数还有多个重载版本,略。 四、部分宏成员1、QBENCHMARK
2、QBENCHMARK_ONCE
3、QCOMPARE(actual, expected)
4、QEXPECT_FAIL(dataIndex, comment, mode)
在上面的示例中,如果变量 i 不是 42,则会将预期失败写入测试输出。如果变量 i 是 42,则会写入意外通过。QEXPECT_FAIL() 对示例中的第二个 QCOMPARE() 语句没有影响。 5、QFAIL(message)
6、QFETCH(type, name)
假设一个测试有以下数据:
测试数据有两个元素,一个称为aString 的QString 和一个称为expected 的整数。要在实际测试中获取这些值:
aString 和 expected 是堆栈上的变量,用当前测试数据初始化。 7、QFETCH_GLOBAL(type, name)
假设一个测试有以下数据:
这里在两个地方定义了测试数据,使用 QFETCH_GLOBAL() 从全局数据表中读取区域设置,使用 QFETCH() 从本地数据表中读取数字:
8、QSKIP(description)
9、QTEST(actual, testElement)
等同于:
10、QTEST_APPLESS_MAIN(TestClass)
11、QTEST_GUILESS_MAIN(TestClass)
12、QTEST_MAIN(TestClass)
13、QTRY_COMPARE(actual, expected)
14、QTRY_COMPARE_WITH_TIMEOUT(actual, expected, timeout)
15、QTRY_VERIFY2(condition, message)
16、QTRY_VERIFY(condition)
17、QTRY_VERIFY2_WITH_TIMEOUT(condition, message, timeout)
18、QTRY_VERIFY_WITH_TIMEOUT(condition, timeout)
19、QVERIFY2(condition, message)
20、QVERIFY(condition)
21、QVERIFY_THROWS_EXCEPTION(exceptiontype, ...)
22、QVERIFY_THROWS_NO_EXCEPTION(...)
|
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 6:22:16- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |