Ho molti oggetti con metodi che richiedono l'accesso al database. Stiamo cercando di entrare nei test unitari ma siamo desiderosi di evitare l'uso di oggetti finti se possibile. Mi chiedo se ci sia un modo per refactoring il metodo Validate mostrato di seguito in modo che non avrebbe bisogno di accesso db. Nell'applicazione attuale di solito c'è un bel po 'di più, ma penso che questo esempio semplificato dovrebbe essere sufficiente.Evita la dipendenza dal database per il test dell'unità senza simulazione
Impareremo a utilizzare gli oggetti mock se ne abbiamo bisogno ma sembra solo un sacco di spese generali, quindi sto cercando alternative.
public class Person
{
public string Name;
public string Validate()
{
if (PersonDA.NameExists(Name))
{
return "Name Already Used";
}
}
}
Assicurati di conoscere la differenza tra "unit test" e "test di integrazione" e quando utilizzarli e per cosa sono più adatti. –
A volte uso il seguente schema che non richiede un framework di simulazione http://www.unit-testing.net/CurrentArticle/How-To-Remove-Data-Dependencies-In-Unit-Tests.html – T123