使用RazorGenerator对视图View进行单元测试

发表于:2016-6-13 10:34

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:笑风沙    来源:51Testing软件测试网采编

分享:
  5、在Web测试项目添加测试代码
using System;
using System.Linq;
using System.Web.Mvc;
using HtmlAgilityPack;
using NUnit.Framework;
using RazorGenerator.Testing;
namespace WebApplication1.Tests.Views.Shared
{
[TestFixture]
public class ErrorTest1
{
[Test]
public void TestMethod1()
{
AssertHtml<ASP._Views_Shared_Error_cshtml, HandleErrorInfo>("content",
@"<h1 class=""text-danger"">Error.</h1>
<h2 class=""text-danger"">An error occurred while processing your request.</h2>");
}
public static HtmlDocument Render<TView,TModel>()
where TView : WebViewPage<TModel>, new()
{
TView view1 = new TView();
WebViewPage<TModel> view = view1 as WebViewPage<TModel>;
HtmlDocument doc = view.RenderAsHtml();
Assert.IsEmpty(doc.ParseErrors.Where(x => x.Code != HtmlParseErrorCode.EndTagNotRequired));
return doc;
}
public static void AssertHtml<TView, TModel>(string containerId, string expected, bool collapsed = false)
where TView : WebViewPage<TModel>, new()
{
HtmlDocument doc = Render<TView,TModel>();
expected = expected.Replace("\r\n", "\n");
string actual =  doc.GetElementbyId(containerId).InnerHtml.Trim().Replace("\r\n", "\n");
Assert.AreEqual(expected, actual);
}
}
}
  6、运行测试,测试通过。
22/2<12
重磅发布,2022软件测试行业现状调查报告~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计

法律顾问:上海漕溪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2023
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号