He buscado en Google esto un poco y realmente no encontré la respuesta que necesitaba.Unidad prueba insertar/actualizar/eliminar
Estoy trabajando en una página web en C# con SQL Server y LINQ para un cliente. Quiero que los usuarios puedan enviarse mensajes entre ellos. Entonces, lo que hago es probarlo con datos que realmente entran en la base de datos.
El problema es que ahora dependo de tener al menos 2 usuarios de quienes conozco la ID de. Además, tengo que limpiarme después de mí mismo. Esto conduce a pruebas unitarias bastante grandes que prueban mucho en una prueba.
Digamos que me gustaría actualizar un usuario. Eso significaría que tendría que citar al usuario, actualizarlo y luego eliminarlo. Esto es una gran cantidad de aserciones en una prueba de unidad y si falla con la actualización tengo que eliminarlo manualmente.
Si lo haría de ninguna otra manera, sin guardar los datos de DB, no estaría seguro será capaz de saber que los datos estuvo presente en la base de datos después de la actualización, etc
¿Cuál es la forma correcta hacer esto sin tener una prueba que prueba mucha funcionalidad en una prueba?
"Así que lo que hago es que pruebo esta unidad con datos en vivo" Eso es contradictorio. Los datos en vivo significan que no están realizando pruebas unitarias, están realizando pruebas de usabilidad o pruebas de rendimiento o quizás pruebas de integración. Pruebas unitarias significa "prueba muchas funcionalidades por sí mismo". Tal vez deberías actualizar la pregunta. –
Gracias por señalar eso, algo salió mal en mi cabeza. Edité ahora –