Soy nuevo en pruebas unitarias y necesito ayuda con lo siguiente.
He creado un pequeño proyecto para ayudarme a aprender cómo hacer pruebas unitarias. La funcionalidad para uno de los formularios en mi aplicación elimina un usuario de la tabla Usuario (y otras filas en las tablas de mapeo).
Actualmente, la prueba unitaria que he creado para probar esto configura los objetos requeridos y luego llama al método de reglas de negocio (pasando la identificación del usuario) que llama al método de acceso a datos para ejecutar el procedimiento almacenado que elimina las filas en las tablas.
¿Es este el método correcto para probar si algo se está eliminando correctamente? ¿Debería el método de prueba / configuración de la unidad insertar primero algunos datos de prueba que la prueba de la unidad luego borra?
fuente
when you are directly testing a DB, it isn't a unit test anymore but integration test.
¿Estás seguro? Si está probando cómo funciona una aplicación con una base de datos, es una integración segura, pero la unidad que prueba una base de datos es posible: blogs.msdn.com/b/atverma/archive/2010/07/28/…Será mucho más fácil escribir pruebas unitarias para procedimientos almacenados SQL en SQL. Echa un vistazo a tSQLt . Evite volver a probar los procedimientos almacenados en sus pruebas de unidad C #; Siga los consejos de Ratchet Freak y simule la base de datos para probar el código C #.
fuente
debe burlarse de la base de datos (abstraída) mientras prueba el formulario
esencialmente proporcionando una implementación ficticia que hace el mínimo necesario para completar las pruebas
de esta manera, cuando llame a enviar en el formulario, podrá ver si se llama a deleteUser en el acceso a datos
fuente