Digamos que eu tenha um método como este:
public void OrderNewWidget(Widget widget)
{
if ((widget.PartNumber > 0) && (widget.PartAvailable))
{
WigdetOrderingService.OrderNewWidgetAsync(widget.PartNumber);
}
}
Eu tenho vários métodos desse tipo no meu código (a metade frontal de uma chamada de serviço da Web assíncrona).
Estou discutindo se é útil cobri-los com testes de unidade. Sim, há lógica aqui, mas é apenas lógica de guarda. (Isso significa que garanto que tenho o material necessário antes de permitir a chamada do serviço web.)
Parte de mim diz "com certeza você pode testá-los à unidade, mas não vale o tempo" (estou em um projeto que já está atrasado).
Mas o outro lado diz: se você não testá-los, e alguém trocar os guardas, pode haver problemas.
Mas a primeira parte de mim responde: se alguém muda os guardas, então você está trabalhando mais para eles (porque agora eles precisam mudar os guardas e os testes de unidade dos guardas).
Por exemplo, se meu serviço assumir a responsabilidade de verificar a disponibilidade do Widget, talvez eu não queira mais essa proteção. Se estiver em teste de unidade, tenho que mudar dois lugares agora.
Eu vejo prós e contras nos dois sentidos. Então, pensei em perguntar o que os outros fizeram.
but it is not worth the time" (I am on a project that is already behind schedule).Somos desenvolvedores de software. A única vez que estão dentro do cronograma é quando estamos mortos :)