即使我已经编码了很长时间,我非常新的单元测试。我想让这成为我发展方式的一部分。我碰到了如何单元测试像收藏的东西。我通常有我的jQuery脚本调用ASP.Net服务器端方法来获取数据和填充表等。他们看着像是
Get_*Noun*()
这通常返回一个JsonResult。使用MSTest进行单元测试的任何想法以及如何测试这些?
解决方法
您应该可以像其他任何东西一样测试,只要您可以从JsonResult中提取值。这是一个帮助你的人:
private T GetValueFromJsonResult<T>(JsonResult jsonResult,string propertyName) { var property = jsonResult.Data.GetType().GetProperties() .Where(p => string.Compare(p.Name,propertyName) == 0) .FirstOrDefault(); if (null == property) throw new ArgumentException("propertyName not found","propertyName"); return (T)property.GetValue(jsonResult.Data,null); }
然后像往常一样调用控制器,并使用该帮助程序测试结果。
var jsonResult = yourController.YourAction(params); bool testValue = GetValueFromJsonResult<bool>(jsonResult,"PropertyName"); Assert.IsFalse(testValue);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。