Ho un metodo di estensione per una classe di supporto in un progetto MVC4:Come testare ModelMetadata.FromLambdaExpression in MVC?
public static class ExtensionMethods
{
public static object Value<TModel, TProperty>(this Expression<Func<TModel, TProperty>> expression, ViewDataDictionary<TModel> viewData)
{
return ModelMetadata.FromLambdaExpression(expression, viewData).Model;
}
}
Questo fa qualcosa di molto semplice in un modo che è tutt'altro che semplice.
Quindi, come può essere sottoposto al test dell'unità? Sarebbe preferibile evitare di deridere i metodi statici o usare l'iniezione di dipendenza, ma sono di mentalità aperta se questi sono davvero gli unici approcci fattibili in questo caso.
Questo è solo un design difettoso che potrebbe essere migliorato in modo da essere più suscettibile di test dell'unità?
Qual è la funzione che deve fare? – Suhas
Restituisce il valore della proprietà identificata da un'espressione lambda passata in un helper html. –
Se sapevi che non era un modo semplice, perché farlo in quel modo? – JustinKaz