QQuickTest Namespace
El espacio de nombres QQuickTest contiene todas las funciones y macros relacionadas con Qt Quick Test. Más...
| Header: | #include <QtQuickTest> |
Funciones
| bool | qIsPolishScheduled(const QQuickItem *item) |
(since 6.4) bool | qIsPolishScheduled(const QQuickWindow *window) |
(since 6.4) bool | qWaitForPolish(const QQuickItem *item, int timeout = defaultTimeout) |
(since 6.4) bool | qWaitForPolish(const QQuickWindow *window, int timeout = defaultTimeout) |
Macros
(since 6.10) | QTRY_VERIFY_ACTIVE_FOCUS(item) |
| QUICK_TEST_MAIN(name) | |
| QUICK_TEST_MAIN_WITH_SETUP(name, QuickTestSetupClass) | |
(since 6.10) | QVERIFY_ACTIVE_FOCUS(item) |
Descripción detallada
Consulte la Introducción a Qt Quick Test para obtener información sobre cómo escribir Qt Quick pruebas unitarias.
Para enlazar con la biblioteca Qt Quick Test C++, consulte Qt Quick Test C++ API.
Véase también Ejecución de pruebas C++ antes de QML.
Documentación de funciones
bool QQuickTest::qIsPolishScheduled(const QQuickItem *item)
Devuelve true si no se ha llamado a updatePolish() en item desde la última llamada a polish(), en caso contrario devuelve false.
Cuando se asignan valores a propiedades en QML, cualquier diseño que el elemento deba hacer como resultado de la asignación puede no tener efecto inmediatamente, sino que puede ser pospuesto hasta que el elemento sea pulido. En estos casos, puede utilizar esta función para asegurarse de que el elemento se ha pulido antes de que continúe la ejecución de la prueba. Por ejemplo:
QVERIFY(QQuickTest::qIsPolishScheduled(item)); QVERIFY(QQuickTest::qWaitForItemPolished(item));
Sin la llamada a qIsPolishScheduled() anterior, la llamada a qWaitForItemPolished() podría ver que no había ningún pulido programado y, por lo tanto, pasar al instante, asumiendo que el elemento ya había sido pulido. Esta función hace que sea obvio por qué no se ha pulido un elemento y permite que las pruebas fallen antes de tiempo en tales circunstancias.
El equivalente QML de esta función es isPolishScheduled().
Véase también QQuickItem::polish() y QQuickItem::updatePolish().
[since 6.4] bool QQuickTest::qIsPolishScheduled(const QQuickWindow *window)
Devuelve true si hay algún elemento gestionado por esta ventana para el que qIsPolishScheduled(item) devuelve true, en caso contrario devuelve false.
Por ejemplo, si un ítem en algún lugar dentro de la escena puede o no estar pulido, pero necesitas esperarlo si lo está, puedes usar el siguiente código:
if (QQuickTest::qIsPolishScheduled(window)) QVERIFY(QQuickTest::qWaitForPolish(window));
El equivalente QML de esta función es isPolishScheduled().
Esta función sobrecarga QQuickTest::qIsPolishScheduled().
Esta función se introdujo en Qt 6.4.
Véase también QQuickItem::polish(), QQuickItem::updatePolish(), y QQuickTest::qWaitForPolish().
[since 6.4] bool QQuickTest::qWaitForPolish(const QQuickItem *item, int timeout = defaultTimeout)
Espera timeout milisegundos o hasta que updatePolish() haya sido invocado en item.
Devuelve true si updatePolish() fue llamado en item dentro de timeout milisegundos, de lo contrario devuelve false.
Esta función se introdujo en Qt 6.4.
Véase también QQuickItem::polish(), QQuickItem::updatePolish(), y QQuickTest::qIsPolishScheduled().
[since 6.4] bool QQuickTest::qWaitForPolish(const QQuickWindow *window, int timeout = defaultTimeout)
Espera timeout milisegundos o hasta que qIsPolishScheduled(item) devuelva false para todos los elementos gestionados por window.
Devuelve true si qIsPolishScheduled(item) devuelve false para todos los elementos en timeout milisegundos, en caso contrario devuelve false.
El equivalente QML de esta función es waitForPolish().
Esta función se introdujo en Qt 6.4.
Véase también QQuickItem::polish(), QQuickItem::updatePolish(), y QQuickTest::qIsPolishScheduled().
Documentación de macros
[since 6.10] QTRY_VERIFY_ACTIVE_FOCUS(item)
Esta macro realiza la misma comprobación que QVERIFY_ACTIVE_FOCUS con item, pero repetidamente, hasta que la condición se convierte en verdadera o se alcanza el tiempo de espera (en milisegundos). Entre cada evaluación, se procesarán los eventos. Si se alcanza el tiempo de espera, se registra un fallo en el registro de pruebas y la prueba no se seguirá ejecutando.
Nota: Esta macro sólo puede utilizarse en una función de prueba que sea invocada por el marco de pruebas.
Esta macro se introdujo en Qt 6.10.
QUICK_TEST_MAIN(name)
Establece el punto de entrada para una aplicación de pruebas Qt Quick. El argumento name identifica unívocamente este conjunto de pruebas.
#include <QtQuickTest>
QUICK_TEST_MAIN(example)Nota: La macro asume que las fuentes de las pruebas se encuentran en el directorio actual, a menos que se establezca la variable de entorno QUICK_TEST_SOURCE_DIR.
Véase también QUICK_TEST_MAIN_WITH_SETUP() y Ejecución de pruebas Qt Quick .
QUICK_TEST_MAIN_WITH_SETUP(name, QuickTestSetupClass)
Establece el punto de entrada para una aplicación de pruebas Qt Quick. El argumento name identifica unívocamente este conjunto de pruebas.
Esta macro es idéntica a QUICK_TEST_MAIN(), salvo que toma un argumento adicional QuickTestSetupClass, el tipo de una clase derivada de QObject que se instanciará. Con esta clase es posible definir código de configuración adicional que se ejecutará antes de ejecutar la prueba QML.
Nota: la macro asume que los fuentes de la prueba se encuentran en el directorio actual, a menos que se haya establecido la variable de entorno QUICK_TEST_SOURCE_DIR.
El siguiente fragmento muestra el uso de esta macro:
// src_qmltest_qquicktest.cpp #include <QtQuickTest> #include <QQmlEngine> #include <QQmlContext> #include <QGuiApplication> class Setup : public QObject { Q_OBJECT public: Setup() {} public slots: void applicationAvailable() { // Initialization that only requires the QGuiApplication object to be available } void qmlEngineAvailable(QQmlEngine *engine) { // Initialization requiring the QQmlEngine to be constructed engine->rootContext()->setContextProperty("myContextProperty", QVariant(true)); } void cleanupTestCase() { // Implement custom resource cleanup } }; QUICK_TEST_MAIN_WITH_SETUP(mytest, Setup) #include "src_qmltest_qquicktest.moc"
Véase también QUICK_TEST_MAIN() y Ejecución de pruebas Qt Quick .
[since 6.10] QVERIFY_ACTIVE_FOCUS(item)
Comprueba si el item (que debe derivarse de QQuickItem) tiene active focus. Si lo tiene, la ejecución continúa. En caso contrario, se registra un fallo en el registro de la prueba y ésta no se sigue ejecutando. El mensaje de fallo contiene información específica del foco que es relevante para diagnosticar la causa del fallo.
Nota: Esta macro sólo puede utilizarse en una función de prueba invocada por el marco de pruebas.
Esta macro se introdujo en Qt 6.10.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.