我根据此处和此处的说明创建了一个自定义助手。这是它的外观片段(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
or__Code
程序集(两者都没有实际返回)。
理想情况下,我想以某种方式调用这些函数并验证结果/HTML。我有一个框架(HtmlUnit 2.7 的 C# 版本),允许我请求 URL 并验证 HTML。
有没有办法测试我的自定义助手?我想写一些类似的东西:
ThemeHelper h = new ThemeHelper(); // or: Assembly.CreateInstance(...) or something
string html = h.PathTo("Site.css");
Assert.IsTrue(html.contains("Themes");