Во время всплеска я создал отличный метод расширения html-помощника для использования в моих представлениях, он работал хорошо. Это облегчит мои взгляды.
Теперь мне нужно выяснить, как его тестировать. Вот суть того, что я пытаюсь сделать:
public static MvcHtmlString EditorOrDisplayForBasedOnConvolutedBusinessLogic<TModel, TValue>(this HtmlHelper<TModel> html, Expression<Func<TModel, TValue>> expression)
{
if (ConvolutedBusinessLogic())
{
return html.EditorFor(expression);
}
else
{
return html.DisplayFor(expression);
}
}
И EditorFor, и DisplayFor сами являются методами расширения. Как в моих модульных тестах я могу утверждать, что на основании входных данных для моего ConvolutedBusinessLogic, что EditorFor или DisplayFor вызываются соответствующим образом? В противном случае, как я могу настроить правильные заглушки / подделки / макеты, чтобы при вызове EditorFor или DisplayFor не выдавалось исключение NullReferenceException, а затем я мог утверждать, что возвращаемое содержимое является правильным?