Durante la capacitación TDD basada en un caso de software médico, estamos implementando la siguiente historia: "Cuando el usuario presiona el botón Guardar, el sistema debe agregar pacientes, agregar dispositivos y agregar registros de datos del dispositivo".
La implementación final se verá más o menos así:
if (_importDialog.Show() == ImportDialogResult.SaveButtonIsPressed)
{
AddPatient();
AddDevice();
AddDeviceDataRecords();
}
Tenemos dos formas de implementarlo:
- Se llamaron tres pruebas donde cada una verifica un método (AddPatient, AddDevice, AddDeviceDataRecords)
- Una prueba que verifica que los tres métodos fueron llamados
En el primer caso, si sucede algo incorrecto a la condición de la cláusula if, las tres pruebas fallarán. Pero en el segundo caso, si la prueba falla, no estamos seguros de qué está exactamente mal. ¿De qué manera preferirías?