Я создал пользовательский помощник в соответствии с инструкциями здесь и здесь . Вот фрагмент того, на что это похоже (ThemeHelper.cs)
:
@inherits Helpers.HelperPage
@using System.Web.Mvc
@using System.Web.Mvc.Html
@...
@helper PathTo(string fileName) {
@Url.Content("~/Content/Themes/" + Theme.CurrentTheme.FolderName + "/" + fileName);
}
Я поместил это в App_Code, как указано. Я могу использовать этих помощников в своих взглядах, чего я и хочу.
Теперь мой вопрос: как мне проверить это? Например, я не могу рефлексивно получить экземпляр класса ThemeHelper
ни в текущей сборке, ни путем рефлексивного доступа к сборкам App_Code
или __Code
(ни одна из которых фактически не возвращается).
В идеале я хотел бы как-нибудь вызвать эти функции и проверить результаты / HTML. У меня есть инфраструктура (C # версия HtmlUnit 2.7), которая позволяет мне запрашивать URL-адреса и проверять HTML.
Есть ли способ проверить мой пользовательский помощник? Я хотел бы написать что-то вроде:
ThemeHelper h = new ThemeHelper(); // or: Assembly.CreateInstance(...) or something
string html = h.PathTo("Site.css");
Assert.IsTrue(html.contains("Themes");