Come testare unitamente il metodo PerformUpdate nell'esempio qui sotto? Questa è una versione (molto) semplificata di un codice che esegue aggiornamenti su un database in cui lo schema è dinamico e rappresentato dalla raccolta dei campi.
EDIT: Se non è chiaro cosa sto chiedendo, mi piacerebbe sapere come diversi sviluppatori si avvicinerebbero al test \ mocking di questo codice da una prospettiva TDD. Ad esempio, quali test scriveresti, cosa vorresti prendere in giro, come verificherai le chiamate ai metodi con gli argomenti giusti?
public interface IUnitOfWork
{
IEfRepository<Field> Fields { get; }
}
public class UpdateService
{
private IUnitOfWork unitOfWork;
private IDataUpdater dataService;
public Activity PerformUpdate(App app, IDictionary<string, object> data)
{
var fields = this.unitOfWork.Fields.FindWhere(o => o.App.Identifier == app.Identifier);
var activity = this.dataService.PerformUpdate(fields, data);
return activity;
}
}