Durante o treinamento de TDD baseado no caso do software médico, estamos implementando a seguinte história: "Quando o usuário pressiona o botão Salvar, o sistema deve adicionar um paciente, adicionar um dispositivo e adicionar registros de dados do dispositivo".
A implementação final será mais ou menos assim:
if (_importDialog.Show() == ImportDialogResult.SaveButtonIsPressed)
{
AddPatient();
AddDevice();
AddDeviceDataRecords();
}
Temos duas maneiras de implementá-lo:
- Três testes nos quais cada um verifica um método (AddPatient, AddDevice, AddDeviceDataRecords) foram chamados
- Um teste que verifica todos os três métodos foi chamado
No primeiro caso, se algo de errado acontecer com a condição da cláusula if, todos os três testes falharão. Mas, no segundo caso, se o teste falhar, não temos certeza do que está exatamente errado. De que maneira você prefere?