Ich habe eine Erweiterungsmethode für eine Hilfsklasse in einem MVC4 Projekt:Testen von 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;
}
}
Dies tut etwas sehr einfach in einer Weise, die alles andere als einfach ist.
Also, wie kann dies am besten getestet werden? Es wäre vorzuziehen, statische Methoden zu vermeiden oder die Abhängigkeitsinjektion zu verwenden, aber ich bin offen dafür, wenn dies wirklich die einzigen realisierbaren Ansätze in diesem Fall sind.
Ist dies nur ein fehlerhaftes Design, das verbessert werden könnte, um besser für Komponententests geeignet zu sein?
Was ist diese Funktion tun soll? – Suhas
Es gibt den Wert der Eigenschaft zurück, die durch einen an einen HTML-Helper übergebenen Lambda-Ausdruck identifiziert wurde. –
Wenn du wüsstest, dass es kein einfacher Weg ist, warum dann? – JustinKaz