Dire che ho un metodo come questo:
public void OrderNewWidget(Widget widget)
{
if ((widget.PartNumber > 0) && (widget.PartAvailable))
{
WigdetOrderingService.OrderNewWidgetAsync(widget.PartNumber);
}
}
Ho diversi metodi di questo tipo nel mio codice (la metà anteriore di una chiamata al servizio Web asincrono).
Sto discutendo se è utile farli coprire con i test unitari. Sì, qui c'è logica, ma è solo logica di guardia. (Nel senso di essere sicuro di avere le cose che mi servono prima di consentire che la chiamata al servizio web si verifichi.)
Una parte di me dice "certo che puoi metterli alla prova, ma non ne vale la pena" (sono su un progetto che è già in ritardo).
Ma l'altro lato di me dice che se non li collaudi unitamente e qualcuno cambia le guardie, allora potrebbero esserci dei problemi.
Ma la prima parte di me dice di nuovo, se qualcuno cambia le guardie, allora stai solo facendo più lavoro per loro (perché ora devono cambiare le guardie e le unit test per le guardie).
Ad esempio, se il mio servizio si assume la responsabilità di verificare la disponibilità di Widget, potrei non volere più quella protezione. Se è sotto test di unità, ora devo cambiare due posizioni.
Vedo pro e contro in entrambi i modi. Quindi ho pensato di chiedere cosa hanno fatto gli altri.