Model Test/es

From Qt Wiki
Jump to: navigation, search
This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine.
Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean.

Spanish English

Model Test

ModelTest provee una manera de chequear lo

ModelTest proporciona una manera de comprobar los errores mas comunes en las implementaciones de QAbstractItemModel.

ModelTest continuamente chequea un modelo y sus cambios, ayudando a verificar el estado y la captura de errores comunes en el momento que aparecen.

http://developer.qt.nokia.com/uploads/image_upload/Modeltest.png

Algunas de las condiciones capturadas son:

Verificar que un número X de filas se han insertado en el lugar correcto después de que la signal rowsAboutToBeInserted() dice X filas seran insertadas.

  • Verificar que un número X de filas se han insertado en el lugar correcto después de que la signal rowsAboutToBeInserted() dice X filas seran insertadas.
  • El padre del primer índice de la primera fila es un QModelIndex()
  • Llamar index() dos veces en una fila con los mismos valores debe devolver el mismo QModelIndex
  • Si rowCount() dice que hay un numero X de filas, la prueba del modelo debe verificar que esto es cierto.
  • hasChildren() devuelve true si rowCount() es mayor que cero.
  • y muchos mas…

Para usar la prueba de modelo haz lo siguiente:

  1. Incluye el archivo pri al final del archivo .pro del proyecto, usando el comando include() de esta manera:

include(../path/to/dir/modeltest.pri)

  1. Luego es su código fuente inlcuya "modeltest.h" e instancie ModelTest con su modelo, entonces el test podrá vivir el tiempo de su modelo. Por ejemplo:
#include <modeltest.h>

QDirModel *model = new QDirModel(this);
new ModelTest(model, this);
  1. Eso es todo. Cuando la prueba encuentra un problema se hará valer modeltest.cpp contiene algunas sugerencias sobre cómo solucionar los problemas que encuentro la prueba.

El código fuente se encuentra aquí