如何对类似于“using(Html.BeginForm()){ }”的HtmlHelper进行单元测试

4

请问有人能建议我如何使用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       
<% } %>

使用这种方法,如果您将类型DivTag指定为T,其中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>
1个回答

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接