2010-06-10 20 views

Respuesta

5

Como una buena práctica, el caso de prueba debe eliminar sus datos de prueba una vez finalizado para que el siguiente caso de prueba pueda ejecutarse con un estado inicial de db conocido. Los casos de prueba no deben depender del orden de ejecución. Esto también hace que la depuración sea fácil, ya que se ejecuta desde un estado inicial conocido.

2

Sí, las pruebas unitarias deben comenzar y finalizar con una base de datos "limpia", un sistema de archivos, etc. Cada prueba debe dejar las cosas tal como las encontró.

Aparte de todo lo demás, esto ayuda a volver a funcionar: puede seguir repitiendo las pruebas una y otra vez.

A veces, sin embargo, cuando está desarrollando y depurando puede ser útil para deshabilitar la eliminación de datos.

Hay una verdadera destreza para lograr todo esto, por ejemplo cuando se trabaja con Java, Spring y bases de datos, puede usar la gestión de transacciones de Spring para simplemente deshacer todos los cambios con cero esfuerzo.

2

Recomiendo comenzar la prueba limpiando e insertando los datos de prueba preferidos. Y deje la base de datos como está después.

Ventajas con este enfoque:

  • fácil de comprobar manualmente que sus servicios funciona como se espera.
  • Los datos de prueba no están dañados por otros servicios antes de comenzar, ya que el trabajo se realiza inmediatamente antes de la prueba.

DbUnit El marco está construido para limpiar e insertar los datos de prueba en su base de datos de prueba en el método setup() antes de cada método de ensayo. Con este enfoque, se recomienda con una base de datos separada para cada desarrollador.

Cuestiones relacionadas