使用RazorGenerator对视图View进行单元测试
作者:网络转载 发布时间:[ 2016/6/13 10:52:48 ] 推荐标签:软件测试 单元测试 RazorGenerator
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(" ", " ");
string actual = doc.GetElementbyId(containerId).InnerHtml.Trim().Replace(" ", " ");
Assert.AreEqual(expected, actual);
}
}
}
6、运行测试,测试通过。

本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
iOS单元测试mocha、chai、sinon和istanbul实现百分之百的单元测试覆盖率关于单元测试的总结及思考编写更好的Java单元测试的7个技巧Android单元测试框架Robolectric3.0介绍(一)使用Kiwi单元测试总结单元测试如此重要,为什么你不知道Python单元测试??使用装饰器实现测试跳过和预期故障对Controller的单元测试写好单元测试的10个技巧单元测试的重要性Angular单元测试系列??Component、Directive、Pipe 以及ServiceAndroid单元测试的整理提升单元测试体验的利器--Mockito使用总结iOS UnitTest单元测试Vue的单元测试探索(二)

sales@spasvo.com