Questa è una domanda sul design del test. Ho un "gestore" di classe che accetta un "validatore" che controlla alcune logiche di business su ciò che è passato al gestore.
Ho effettuato i test unitari per il validatore e ora sto scrivendo il test per il gestore. Ovviamente voglio assicurarmi che il validatore venga chiamato quando il gestore fa la sua cosa.
Dovrei testare ancora una volta i casi del validatore o è inutile?
MODIFICA 1:
Fornirò un po 'più di informazioni su ciò che sto cercando di fare qui, poiché sembra che le domande abbiano più di quanto mi aspettassi.
Quello che sto facendo è un servizio per registrare gli utenti per un sito web e ho bisogno di verificare che l'utente abbia fornito esattamente un metodo di contatto tra tre possibili opzioni (email, telefono e indirizzo postale). Questa convalida deve essere eseguita sia quando l'utente si registra nel sito Web e quando l'utente deve reimpostare la sua password nel caso in cui l'abbia dimenticata.
Il metodo che gestisce gli utenti del registro va così.
public Headers HandlePetition(Petition petition)
{
if (petition == null)
{ throw new ArgumentNullException(); }
contactPointValidator.ValidateContactPoint(new ContactData
{
Email = petition.email,
PostalAddress = petition.postaladdress,
Telephone = petition.telephone,
});
var response;
// Do stuff
return response;
}