2013-07-31 3 views
1

Кто-нибудь знает, как издеваться над HtmlHelper.Partial?moq System.Web.Mvc.HtmlHelper Частичный метод

Я создал свой собственный класс htmlhelper, и одна из функций упомянутого вспомогательного класса - вернуть MvcHtmlString из htmlHelper.Partial.

Пример:

public static MvcHtmlString ScriptEditorFor(this HtmlHelper<ViewModel> htmlHelper, 
    Identifiers.PainAssessmentVariables painVariable) 
{ 
    return htmlHelper.Partial("test"); 
} 

Я получаю нулевой ссылочный исключение при попытке MOq проверить это

+0

В каком классе вы собираетесь протестировать? Зачем вам нужно высмеивать 'HtmlHelper.Partial'? Как выглядит ваш тест? – sloth

+0

Я создал метод расширения для HtmlHelper. пример: общественности статической MvcHtmlString ScriptEditorFor (это HtmlHelper HtmlHelper) { \t возвращение htmlHelper.Partial ("Test") } Теперь мне нужно модульного тестирования указанного метода, используя малое количество заказа. пример: общественного недействительный AllParties() { \t вар HtmlHelper = новые HtmlHelper (ViewContext, viewDataContainer.Object, маршруты); \t var test = htmlHelper.ScriptEditorFor (идентификаторы.PainAssessmentVariables.AllParties, currentRoute); \t Assert.AreEqual (source, test.ToHtmlString()); } –

+0

Pls, отредактируйте ваш вопрос и включите все данные из вашего комментария. –

ответ

0

Вы не можете. Partial - это статический метод (метод расширения), а moq не может имитировать статические методы.

Вы должны скрыть вызов Partial за интерфейсом или использовать насмешливую структуру, способную насмехаться над статическими методами.

+0

Я вижу. Большое спасибо. –

Смежные вопросы