【发布时间】:2011-01-29 22:20:47
【问题描述】:
有人可以建议我如何使用 Moq 编写单元测试以遵循 HtmlHelper 方法吗?
public static HtmlTagBase GenerateTag<T>(this HtmlHelper htmlHelper
, object elementData
, object attributes)
where T : HtmlTagBase
{
return (T)Activator.CreateInstance(typeof(T)
, htmlHelper.ViewContext
, elementData
, attributes);
}
您将按如下方式使用(请注意using 声明 - 这让我感到困惑):
<%--Model is a type of ShareClass--%>
<% using (Html.GenerateTag<DivTag>(Model)) { %>
My Div
<% } %>
使用这种方法,如果你指定T为类型DivTag,其中ShareClass定义为
public class ShareClass
{
public string Name { get; set; }
public string Type { get; set; }
public IEnumerable<Fund> Funds { get; set; }
public ShareClass(string name, string shareClassType)
{
this.Name = name;
this.Type = shareClassType;
}
}
将呈现以下 html:
<div class="ShareClass" shareclass-type="ShareClass_A" shareclass-name="MyShareClass">My Div</div>
【问题讨论】:
标签: asp.net-mvc unit-testing nunit moq html-helper