Compartir a través de


Utilizar condiciones de prueba en las pruebas unitarias de base de datos

Actualización: noviembre 2007

En una prueba unitaria de base de datos típica, se ejecuta un script de prueba Transact-SQL (T-SQL) y se devuelve una instancia de la clase ExecutionResult. La instancia de esta clase contiene un conjunto de datos, el tiempo de ejecución y las filas afectadas por el script. Toda esta información se recopila durante la ejecución del script. Los resultados se pueden evaluar en el script T-SQL por medio de la función RAISERROR o mediante condiciones de prueba. En Visual Studio Team System Database se proporciona un conjunto de condiciones de prueba predefinidas.

Condiciones de prueba predefinidas

En la tabla siguiente se incluyen las condiciones de prueba predefinidas que se pueden agregar a través del panel Condiciones de prueba del Diseñador de pruebas unitarias de base de datos.

Condición de prueba

Descripción de la condición de prueba

ResultSet vacío

La prueba no se supera si el conjunto de resultados devuelto del script T-SQL no está vacío.

Tiempo de ejecución

La prueba no se supera si el script de prueba T-SQL tarda en ejecutarse más tiempo del esperado. El tiempo de ejecución predeterminado es de 30 segundos.

El tiempo de ejecución sólo se aplica a la prueba del script de prueba, no al script de ejecución anterior o posterior a la prueba.

No concluyente

El resultado de la prueba es siempre No concluyente. Ésta es la condición predeterminada que se agrega a todas las pruebas. Esta condición de prueba se incluye para indicar que no se ha implementado la comprobación de la prueba. Cuando haya agregado otras condiciones de prueba, elimine esta condición de prueba.

No se admite ResultSet vacío

La prueba no se supera si el conjunto de resultados está vacío. Puede utilizar esta condición de prueba o EmptyResultSet con la función @@RAISERROR de T-SQL en su script de prueba para comprobar si se realizó correctamente una actualización. Por ejemplo, puede guardar los valores previos a la actualización, ejecutar la actualización, comparar los valores posteriores a la actualización y generar un error si no obtiene los resultados esperados.

Recuento de filas

La prueba no se supera si el conjunto de resultados no contiene el número esperado de filas.

Valor escalar

La prueba no se supera si un valor determinado del conjunto de resultados no es igual al valor especificado. La configuración predeterminada de Valor esperado es null.

Nota:

La condición de prueba Tiempo de ejecución especifica un límite de tiempo para la ejecución del script de prueba T-SQL. Si se excede este límite de tiempo, la prueba no se supera. Los resultados de la prueba también incluyen estadísticas de duración, que no son lo mismo que la condición de prueba Tiempo de ejecución. Las estadísticas de duración no sólo incluyen el tiempo de ejecución, sino que también el tiempo que se ha tardado en establecer una conexión con la base de datos dos veces, el tiempo que han tardado en ejecutarse otros scripts de prueba, como los scripts de ejecución anterior y posterior a la prueba, y el tiempo que han tardado en ejecutarse las condiciones de prueba. Por consiguiente, una prueba se puede superar aunque su duración sea superior a su tiempo de ejecución.

La duración indicada no incluye el tiempo utilizado para la generación de datos y la implementación del esquema, porque ambos procesos son anteriores a la ejecución de las pruebas. Para ver la duración de la prueba, seleccione una ejecución de prueba en la ventana Resultados de pruebas, haga clic con el botón secundario y elija Ver detalles de resultados de la prueba.

Puede agregar condiciones de prueba a las pruebas unitarias de base de datos mediante el panel Condiciones de prueba del Diseñador de pruebas unitarias de base de datos. Para obtener más información, vea Cómo: Agregar condiciones de prueba a pruebas unitarias de base de datos.

También puede editar directamente el código del método de prueba para agregar más funcionalidad. Para obtener más información, vea Personalizar pruebas unitarias de base de datos en Visual Basic o en Visual C#. Por ejemplo, puede agregar funcionalidad a un método de prueba al agregar instrucciones Assert. Para obtener más información, vea Utilizar aserciones T-SQL en pruebas unitarias de base de datos.

Extensibilidad de las condiciones de prueba

Además de las seis condiciones de prueba predefinidas, puede escribir condiciones de prueba nuevas. Estas condiciones de prueba se mostrarán en el panel Condiciones de prueba del Diseñador de pruebas unitarias de base de datos. Para obtener más información, vea Cómo: Agregar una condición de prueba al Diseñador de pruebas unitarias de base de datos.

Vea también

Conceptos

Utilizar aserciones T-SQL en pruebas unitarias de base de datos

Scripts en pruebas unitarias de base de datos

Introducción a la terminología de Database Edition