Como novato en la práctica del desarrollo basado en pruebas, a menudo termino en un dilema sobre cómo probar la persistencia de prueba en una base de datos.¿Cómo se prueba la persistencia de la unidad?
sé que técnicamente esto sería una prueba de integración (no es una prueba de la unidad), pero yo quiero descubrir las mejores estrategias para el siguiente:
- consultas de prueba.
- Inserciones de prueba. ¿Cómo sé que la inserción que salió mal si falla? Puedo probarlo insertando y luego consultando, pero ¿cómo puedo saber que la consulta no fue incorrecta?
- actualizaciones pruebas y elimina - igual que las pruebas inserta
¿Cuáles son las mejores prácticas para hacer esto?
En cuanto a SQL prueba: Soy consciente de que esto se podría hacer, pero si uso un asignador de O/R como NHibernate, que atribuye algunas verrugas de nomenclatura en los alias utilizados para las consultas de salida, y ya que es algo impredecible. No estoy seguro de poder probar eso.
¿Debo simplemente abandonar todo y simplemente confiar en NHibernate? No estoy seguro de que sea prudente.
Estoy de acuerdo, aunque nunca he sido un purista de TDD definitivamente veo muchos de los beneficios de TDD, pero para ignorar la realidad y no probar realmente sus registros entrando y saliendo de su base de datos no tiene idea de qué es realmente su aplicación va a hacer en la naturaleza. Muchas veces antes de que me asignaran un "error" que mi código no funcionaba y ejecutaba las pruebas de mi unidad y descubría a otro desarrollador pisoteado por mi sproc (scripts maliciosos malvados) y nunca me importaba correr mi unidad prueba para ver que destruyeron todo el sistema. –